我实现了一个简单的 Webclient 来将文件上传到 Web 服务器。这是我的代码的相关部分:
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 上传文件时,速度非常慢(尽管我的 wifi 信号强度非常好)。上传大约每 5 秒停止一次,然后通常会继续,但有时不会。停止上传是我最大的问题,因为它不会抛出任何错误(没有超时或其他任何错误)。当我将笔记本电脑连接到以太网电缆时,没有问题,上传很快就完成了。有人可以帮帮我吗?
我还在我的大学尝试了相同的代码,它似乎工作正常。那里有一个 WPA 网络,我在 WEP 签名的网络上。