Sto provando a caricare un file zip sul server utilizzando C# (Framework 4)
e il seguente è il mio codice.Il file zip viene danneggiato dopo il caricamento sul server utilizzando C#
string ftpUrl = ConfigurationManager.AppSettings["ftpAddress"];
string ftpUsername = ConfigurationManager.AppSettings["ftpUsername"];
string ftpPassword = ConfigurationManager.AppSettings["ftpPassword"];
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl + "Transactions.zip");
request.Proxy = new WebProxy(); //-----The requested FTP command is not supported when using HTTP proxy.
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
StreamReader sourceStream = new StreamReader(fileToBeUploaded);
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();
Il file zip viene caricato con successo, ma quando ho provato ad aprire il file zip dal server (manualmente), mi ha mostrato Unexpected end of archive
errore.
Per la compressione dei file sto usando Ionic.zip dll
. Prima di trasferire il file zip, sono stato in grado di estrarre correttamente.
Qualsiasi aiuto apprezzato. Grazie.
Cerca di evitare sourceStream.ReadToEnd() e copia i byte direttamente da sourceStream a requestStream –