ファイルを Web サーバーにアップロードする単純な 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;
}
Wi-Fi 経由でファイルをアップロードしようとすると、非常に遅くなります (ただし、Wi-Fi 信号強度は完璧です)。アップロードは約 5 秒ごとに停止し、ほとんどの場合継続しますが、継続しない場合もあります。アップロードの停止は私の最大の問題です。エラーが発生しないためです (タイムアウトなどはありません)。ラップトップをイーサネット ケーブルに接続しても問題はなく、アップロードはすぐに完了します。誰か助けてくれませんか?
私の大学でも同じコードを試してみましたが、問題なく動作しているようです。私がここにいる場所には、WEP 署名済みネットワーク上にある WPA ネットワークがあります。