我實現了一個簡單的Webclient將文件上傳到Web服務器。這裏是我的代碼的相關部分:WIFI上的C#webclient
private bool fileUploadValid = new bool();
string fileLocation = "D:/testvideo.avi";
WebClient client = new WebClient();
public MainWindow()
{
InitializeComponent();
client.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCallback);
// Specify a progress notification handler.
client.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressCallback);
client.Headers.Add("Content-Type", "binary/octet-stream");
UploadFileInBackground("http://xxx/videolibrary/fileUpload.php", fileLocation);
}
public void UploadFileInBackground(string address, string fileName)
{
Uri uri = new Uri(address);
client.UploadFileAsync(uri, "POST", fileLocation);
Console.WriteLine("File upload started.");
// fileUploadValid = false;
}
當我嘗試上傳一個文件通過WiFi它是非常緩慢(雖然我的無線信號強度是完美的)。上傳每5秒停止一次,然後大多數情況下會繼續,但有時不會。上傳停止是我最大的問題,因爲它不會拋出任何錯誤(沒有超時或其他)。當我將筆記本電腦連接到以太網電纜時,沒有任何問題,上傳完成。有人可以幫我嗎?
我也在我的大學嘗試過相同的代碼,它似乎工作正常。有一個WPA網絡在那裏,我在這裏的WEP簽署netwerk。
你有沒有試過在你的wifi上運行speedtest? Webclient不區分Wifi v/s以太網(它實際上位於不同的OSI層)。 – 2013-03-24 16:12:27
ping 21ms下載速度0.27mbs上傳速度0.86mbs – user1766412 2013-03-24 16:19:42
該文件爲3 MB,需要3分多鐘才能完成。最大的問題是,我看到它凍結在上傳進度回調,任何想法? – user1766412 2013-03-24 16:24:12