看板 C_Sharp 關於我們 聯絡資訊
我寫了一個關於ftp upload的function 碰到了我想不到的問題 內容如下: Uri uriftp = new Uri(ftpserver + filename); FtpWebRequest myFtpWebRequest = (FtpWebRequest)WebRequest.Create(uriftp); NetworkCredential myNetWorkCredential = new NetworkCredential(ftpaccount, ftppassword); myFtpWebRequest.UsePassive = false; myFtpWebRequest.Credentials = myNetWorkCredential; myFtpWebRequest.Method = WebRequestMethods.Ftp.UploadFile; FileStream myFileStream = new FileStream(filepath, FileMode.Open, FileAccess.Read); Byte[] uploadBytes = new byte[myFileStream.Length]; myFileStream.Read(uploadBytes, 0, uploadBytes.Length); myFileStream.Close(); Stream myStream = myFtpWebRequest.GetRequestStream(); myStream.Write(uploadBytes, 0, uploadBytes.Length); myStream.Close(); myFtpWebRequest = null; 我試著傳了一個txt檔 和tif檔 301bytes 的txt 檔上傳可以成功 可是想要上傳226936的tif檔時 卻怎麼上傳,上傳完的tif檔都只有2960bytes,也無法開啟顯示圖片了 請問,為什麼會是一個成功一個失敗呢 是我的程式有什麼疏忽的地方嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.0.115
leicheong:上傳的過程請用loop進行, 2960可能是對方的buffer size 02/19 10:03
leicheong:.Write()方法回傳的是成功寫入的byte數, 別忘了檢查. 02/19 10:04
leicheong:經網路的讀/寫字節數不一定是你要求的數目...... 02/19 10:05
saitoh:而且傳完之後記得抓StatusCode 確保有傳完 02/19 13:51
nenpow:已解決 , 謝謝!! 02/19 16:30