我正在使用與C#結合的php腳本將文件從Windows中的文件夾上載到Web服務器目錄中。它的工作原理,但是,當上傳開始時,應用程序凍結。使用php上傳文件 - 凍結
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秒鐘左右,直到上傳完成或接近完成。
有沒有什麼方法可以顯示處理頁面,同時上傳文件而不會凍結應用程序?
試試這個控制:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/AsyncFileUpload.aspx編輯:你在做什麼基本上尋找是一種上傳文件的異步方式,然後通知它已完成上傳。有很多方法可以做到,只需搜索「asp.net異步文件上傳」 –
@JesseSmith,感謝您的建議,但是,我沒有使用ASP,而是一個桌面應用程序。 – Spencer
啊!授予@Ralph說,這個問題是由阻塞UI線程引起的 - 最終結果仍然是某種形式的異步 –