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

C# Discussion :

Erreur 409 Transfert de fichier via webdav


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Par défaut Erreur 409 Transfert de fichier via webdav
    Bonjour,

    Je dois transferer un fichier via webdav sur 2 Pc en reseaux (win7).

    Avec Windows en utilisant la commande "net use * htpp://etc...." ca marche il creer bien mon lecteur reseaux. Je peux modifier, transferer, c'est OK...
    Avec mon logiciel je peux aussi supprimer ca amrche donc pas de probleme de connexion ou de droit d'acces.

    Mais des que je transfert j'ai l'erreur 409 probleme de conflit que remonte.

    Que faire ?

    Merci

    Johan

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
            public HttpStatusCode MettreAJour(string Fichier, string Url, string sUserName, string sPassword)
            {
                HttpStatusCode iStatus;
                string sStatus;
     
                Byte[] Data = getFileBytes(Fichier);
     
                string FileNameUrl = Url + "/" + Path.GetFileName(Fichier);
     
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
                req.Method = "PUT";
                req.ContentLength = Data.LongLength;
     
                // s'authentifie
                if (!String.IsNullOrEmpty(sUserName))
                {
                    NetworkCredential networkCredential = new NetworkCredential(sUserName, sPassword);
                    req.Credentials = networkCredential;
                }
     
                Stream stream = req.GetRequestStream();            
                stream.Write(Data, 0, Data.Length);
                stream.Flush();
                stream.Close();
     
                HttpWebResponse response = (HttpWebResponse)req.GetResponse();
                iStatus = response.StatusCode;
                sStatus = response.StatusDescription;
     
                if (iStatus == HttpStatusCode.OK || iStatus == HttpStatusCode.Created)
                    Console.WriteLine(String.Format("PUT: OK    Resultat = {0}: {1}", iStatus, sStatus));
                else if (iStatus == HttpStatusCode.Unauthorized)
                    Console.WriteLine("PUT WEBDAV: Vous n'avez pas les permissions requis! Contactez l'administrateur du système");
                else
                    Console.WriteLine(String.Format("PUT: Echec Resultat = {0}: {1}", iStatus, sStatus));
     
                response.Close();
     
                // Retourne le statut
                return iStatus;
            }
     
            Byte[] getFileBytes(string Fichier)
            {
                // lit le flux en mode binaire
                Stream stream = new FileStream(Fichier, FileMode.Open);
                BinaryReader binReader = new BinaryReader(stream);
                Byte[] result =  binReader.ReadBytes((Int32)stream.Length); // lit tous
     
                stream.Close();
     
                return result;
            }

  2. #2
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Par défaut RESOLU
    Problème résolu,

    Une erreur de ma part, c'est bon ça marche.

    Dans le Create je mettais le chemin du répertoire et non le chemin complet avec le nom du fichier.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     string FileNameUrl = Url + "/" + Path.GetFileName(Fichier);
     
      HttpWebRequest req = (HttpWebRequest)WebRequest.Create(FileNameUrl ); //(Url);
    Johan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [automatisation] Transferts de fichiers via FTPEXPERT 3
    Par nicetios dans le forum Internet
    Réponses: 6
    Dernier message: 14/10/2006, 13h47
  2. Probleme transfert gros fichier avec webdav
    Par cybernetique dans le forum Apache
    Réponses: 1
    Dernier message: 10/05/2006, 09h53
  3. transfert de fichier via port RS232, ...
    Par Axiome dans le forum C
    Réponses: 2
    Dernier message: 21/04/2006, 13h51
  4. Transfert de fichier via sockets...
    Par damien99 dans le forum MFC
    Réponses: 8
    Dernier message: 19/02/2006, 14h41
  5. []transfert de fichiers via FTP
    Par ista9im dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/10/2005, 23h02

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