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 55 56
| string str1 = @"c:\Detourage\Preparation\deux-rep_part001\rep1\Collines.jpg.sitx";//le fichier local a envoyer
string str2 = "ftp://www.arpp.fr/cgi-bin/DETOURETOUR/DETOURAGE/ARPP/";//Le chemin de destination
//=====================//
//===== 1ere fois =====//
//=====================//
int beginOffset = 0;
long endOffset = 0;
long fileLen = 20764;
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(str2 + "/Collines.jpg.sitx");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("xxxxx", "xxxxx");
// Chargement du fichier
FileStream stream = File.OpenRead(str1);
byte[] buffer = new byte[10000];
stream.Read(buffer, 0, buffer.Length);
stream.Close();
// Envoi du fichier
Stream reqStream = request.GetRequestStream();
reqStream.Write(buffer, beginOffset, buffer.Length);
reqStream.Close();
// Traitement des réponses
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();
//=====================//
//===== 2eme fois =====//
//=====================//
endOffset = fileLen - 10000;
request = (FtpWebRequest)WebRequest.Create(str2 + "/Collines.jpg.sitx");
request.Method = WebRequestMethods.Ftp.AppendFile;
request.Credentials = new NetworkCredential("xxxxx", "xxxxx");
// Chargement du fichier
stream = File.OpenRead(str1);
stream.Seek(10000, SeekOrigin.Begin);//deplacement du pointeur de lecture
buffer = new byte[endOffset];
stream.Read(buffer, 0, buffer.Length);//lecture du buffer de 0 à la fin
stream.Close();
// Envoi du fichier
reqStream = request.GetRequestStream();
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Close();
// Traitement des réponses
response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close(); |
Partager