IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Ecriture dans un fichier sur internet


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut Ecriture dans un fichier sur internet
    Bonjour!

    après des recherches non fructueuses, je cherche encore à créer un fichier dans un répertoire situé sur un site au cas où ce fichier n'existerait pas.

    J'arrive à lire son contenu en passant par WebRequest et WebResponse quand le fichier existe mais impossible de trouver comment créer un fichier avant d'écrire dedans; le tout via internet.

    Avez-vous une solution, une idée ?
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    As-tu regardé du côté de la classe WebClient et plus particulièrement de la méthode UploadFile ?

    En espérant t'avoir aidé.

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    D'où provient le contenu que tu souhaites écrire dans le fichier?
    Tu peux uploader un fichier comme l'a suggéré Nicolas mais tu peux aussi créer un fichier sur le serveur, et à partir du serveur, avec System.IO.File de mémoire

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    Alors en fait : je récupère le contenu du fichier CSS qui se trouve sur une adresse (une autre application qui tourne sur le serveur) dans un textarea. Et quand je clique sur Enregistrer, j'enregistre le contenu modifié dans le fichier. Mais si le fichier n'existe pas je voudrais le créer, et ensuite le modifier.

    Avec ce que dit lutecefalco, je peux donner plus de détails : mon formulaire se trouve sur le serveur wwwroot/Appli2/formulaire
    Et le fichier CSS se trouve dans wwwroot/Appli1/Styles/

    Donc il serait plus judicieux de créer directement le fichier sur le serveur plutôt que de passer par internet ?

  5. #5
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    D'un point de vue pratique, mais surtout d'un point de vue sécurité, mieux vaut laisser ton application serveur gérer la création et l'enregistrement des fichiers.

    Si tu veux absolument pouvoir créer des fichiers sur le serveur via une application locale, pourquoi ne pas développer un petit WebService déployé sur le serveur qui se chargera de la gestion des fichiers ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    J'ai pas bien compris quand vous dites :

    Citation Envoyé par Nicolas Esprit Voir le message
    mieux vaut laisser ton application serveur gérer la création et l'enregistrement des fichiers.
    Cela signifie que je peux créer mon fichier "../Appli1/Styles/fichier.css" ? ou bien qu'il faut que je passe par le protocole FTP pour les raisons de sécurité ?

    Et puis pour le webservice, cela me paraît être intéressant mais ça serait juste pour récupérer le contenu du fichier alors ? Ou aussi pour envoyer le contenu dans un fichier existant ?

  7. #7
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    mieux vaut laisser ton application serveur gérer la création et l'enregistrement des fichiers.
    => Cela signifie que c'est ton application serveur (application web je suppose ?) qui s'occupe d'enregistrer les fichiers en local (donc par exemple avec un chemin relatif comme celui que tu as cité : "../Appli1/Styles/fichier.css")

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    Oui ce sont deux applications web. Merci.

    Sinon, j'ai travaillé avec les chemins relatifs : en lecture il n'y a pas de soucis. En revanche quand je veux enregistrer le contenu du textarea dans le fichier, j'ai une exception que je n'arrive pas à contourner :

    Le processus ne peut pas accéder au fichier 'C:\Users\...\Styles\style.css', car il est en cours d'utilisation par un autre processus.

    J'ai pourtant bien refermé le StreamReader. L'exception est levée à ce moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StreamWriter oFile = new StreamWriter(leFichierCSS);
    Est-ce que la déclaration peut poser un problème ?

  9. #9
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Non ce n'est pas un problème de code mais simplement d'accès concurrent.
    C'est comme lorsqu'avec du code tu souhaites enregistrer des données dans un fichier .xls et que celui-ci est ouvert dans Excel.

    Il faut killer le processus qui utilise ce fichier. Pas évident à faire sur un serveur distant dont on est pas forcément admin. As-tu la possibilité de redémarrer ton site dans IIS ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    Non pas du tout, c'est le serveur de mon entreprise et je dois travailler de chez moi avec mon pc. Du coup, je travaille en local avant de faire une publication sur le serveur.

    Il n'y a aucun moyen ou aucune méthode pour gérer le problème de l'accès concurrentiel pour l'écriture dans un fichier en c#?

    Je travaille sur Visual Studio 2008; donc je ne passe pas par IIS.

  11. #11
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Question bête : si j'ai bien compris tu créés ton site chez toi et a juste besoin de le publier sur le serveur de ton entreprise ? Pourquoi ne pas utiliser FTP ? Ou bien simplement se connecter en Remote Desktop au serveur ?

    Pour gérer l'écriture d'un fichier ouvert par une autre application, à ma connaissance à part fermer cette appli ou carrément killer le process, je ne connais pas d'autre solution.

  12. #12
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    En fait ce qu'on ne comprend peut-être pas c'est à quoi cela doit te servir. Pourquoi est-ce que tu fais cela? Pour quel usage?

    Si tu veux mettre le contenu d'une saisie dans un fichier texte c'est pas bien compliqué. Le streamwriter marche bien mais il faut avoir les droits. De plus, il vaut mieux l'utiliser dans un using.

    Sinon, on ne peut pas créer de fichier sur un serveur web par http. Il faut utiliser le FTP. Tu peux regarder ici comment faire simplement: http://dotnet.developpez.com/faq/asp...e=transfertftp.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Lire et écrire dans un fichier sur Internet
    Par Snebz dans le forum Général Java
    Réponses: 6
    Dernier message: 20/11/2011, 16h24
  2. Réponses: 5
    Dernier message: 20/09/2010, 16h01
  3. Réponses: 1
    Dernier message: 28/07/2006, 21h24
  4. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 17h30
  5. Réponses: 2
    Dernier message: 26/09/2003, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo