作者nenpow (大叮噹)
看板C_Sharp
標題[問題] FTP上傳問題
時間Tue Feb 19 03:18:00 2008
我寫了一個關於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
1F:推 leicheong:上傳的過程請用loop進行, 2960可能是對方的buffer size 02/19 10:03
2F:→ leicheong:.Write()方法回傳的是成功寫入的byte數, 別忘了檢查. 02/19 10:04
3F:→ leicheong:經網路的讀/寫字節數不一定是你要求的數目...... 02/19 10:05
4F:推 saitoh:而且傳完之後記得抓StatusCode 確保有傳完 02/19 13:51
5F:→ nenpow:已解決 , 謝謝!! 02/19 16:30