C# と組み合わせた php スクリプトを使用して、Windows のフォルダーから webserver ディレクトリにファイルをアップロードしています。動作しますが、アップロードが始まるとアプリケーションがフリーズします。
private void submitExam_Click(object sender, EventArgs e)
{
// loop through and upload our sound bits
string[] files = System.IO.Directory.GetFiles(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + "\\wav", "*.wav", System.IO.SearchOption.AllDirectories);
foreach (string soundBit in files)
{
System.Net.WebClient Client = new System.Net.WebClient();
Client.Headers.Add("Content-Type", "audio/mpeg");
byte[] result = Client.UploadFile("http://website.com/uploadFiles.php", "POST", soundBit);
}
processing f2 = new processing();
f2.MdiParent = this.ParentForm;
f2.StartPosition = FormStartPosition.CenterScreen;
f2.Show();
this.Hide();
}
C# アプリケーションでは、送信ボタンをクリックするとアップロードが開始され、ファイルがアップロードされていることを示すメッセージを表示する新しいフォーム ページが表示されます。これで私が抱えている問題は、送信ボタンが押されたときにprocessing
、アップロードが終了するかほぼ終了するまで、フォームが約 10 秒間表示されないことです。
アプリケーションをフリーズせずにファイルを同時にアップロードしながら、処理ページを表示する方法はありますか?