2016-04-02 16 views
1

Bir FTP sunucusuna .CSV dosyalarını yükleyen bir proje üzerinde çalışıyorum. Program dosyaları, dosyaları Excel'de açtığımda bilgisayarımdaki bir yola başarıyla oluşturur.FTP yükleme CSV dosyalarının içeriğini yüklemiyor

Program, dosyaları sunucuya yüklemeyi başarabilir ve dosyaları sunucuda görebilirim.

Sorun şu ki, .CSV dosyalarında hiç içerik yok ve onları sunucudan açtığımda 0 bayt doldurur.

Kimsenin yanlış olduğunu ne yaptığını biliyor mu?

Şimdiden teşekkürler! Öğrendiğim

 private void sendFileBTN_Click(object sender, EventArgs e) 
    { 
     Upload("ftp://FTPServerName", "FTPBrugernavn", "FTPpassword", path + @"\fileNameToUpload.csv"); 
    } 

public void Upload(string ftpServer, string username, string password, string filename) 
    { 
     var Settingsdict = File.ReadAllLines(".\\" + "Settings" + ".csv").Select(l => l.Split(';').ToArray()).ToArray(); 
     FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpServer + "/" + Settingsdict[4][1] + 
     Path.GetFileName(filename)); 
     request.Method = WebRequestMethods.Ftp.UploadFile; 

     request.Credentials = new NetworkCredential(username, password); 
     request.UsePassive = true; 
     request.UseBinary = false; 
     request.KeepAlive = true; 

     StreamReader sourceStream = new StreamReader("testfile.txt"); 
     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(); 
     FileStream stream = File.OpenRead(filename); 
     byte[] buffer = new byte[stream.Length]; 
     stream.Read(buffer, 0, buffer.Length); 
     stream.Close(); 
     response.Close(); 
    } 

cevap

0

: Burada

Ben sunucuya yüklemek için kullandıkları, koddur. Bunun yerine kullanmam gereken kod:

using (WebClient client = new WebClient()) 
      { 
       client.Credentials = new NetworkCredential(username, password); 
       client.UploadFile(ftpServer + "/" + Path.GetFileName(filepathAndName), filepathAndName); 
      }