2013-03-11 58 views
0

我有一個上傳表單,在我的網站,允許用戶插入一些項目(通常是樹木),他們可以選擇上傳圖像他們添加此項目。 上傳圖片需要15秒左右的時間,但我希望讓用戶選擇在等待圖片上傳時添加其他項目。 所以我想要使用線程,因爲: 上傳完成後,頁面將刷新並重置表單,因此如果他們想要添加其他項目,他們必須等待直到完成上傳。上傳圖像的背景,與線程

我想這代碼:

protected void UploadFile(Object s, EventArgs e) 
     { 
    Thread t = new Thread(delegate() 
    { 
     //code for upload the image 
    )}; 
    t.Start(); 
} 

,但它不工作,它甚至不是現在上傳文件。 有人知道原因嗎? 謝謝。

+0

使用ajax異步上傳圖像 – Satpal 2013-03-11 09:29:45

回答

1

上傳文件所需的時間塊不在處理中 - 您可能只是將文件保存在某處 - 這是通過網絡傳輸文件。

所以我建議不要嘗試在這裏做後臺處理,只是以正常的方式處理它,它將只是性能。用戶只需等待圖像通過網絡發送即可。

如果用戶在上傳圖片時需要添加其他項目,則可以隨時讓您的站點在瀏覽器的標籤頁/窗口中打開另一個頁面。

+0

我用另一個窗口做了它,並把它放在iframe和它的偉大。 – Jordan 2013-03-13 14:36:33

+0

iFrame,這是一個很好的接觸:-) – 2013-03-14 10:14:02

2

只有在收到完整請求後纔會調用您的服務器端代碼。
所以使用線程不會有太大幫助。

如果你想保持你的頁面交互,即使上傳發生,你應該尋找一個基於ajax的解決方案。

一個非常簡單的選項是uploadify。您可以將它掛接到一個HttpHandler上,並在應用程序保持交互時在後臺進行上傳。

0

也許你可以看看HTML5 can do for you在向用戶提供更多反饋意見中表示他的文件已上傳。就像Roy指出的那樣,傳輸時間很重要,用戶不得不等待。但是對於HTML5,也許你可以提供一些很好的進度條來改善上傳頁面的用戶體驗。

希望這會有所幫助。