簡體   English   中英

上傳文件而不進行全頁回發

[英]Upload files without full page postback

計划

  1. 我需要上傳文件而不會導致整頁刷新。
  2. 上傳的文件應存儲在臨時位置(會話或cookie)
  3. 如果用戶成功填寫所有表單字段,我將只保存服務器中的文件。

注意:這是jQuery滑塊的幻燈片之一。 因此,全面刷新會破壞用戶體驗。


問題

如果我將Fileuploader控件放在AJAX更新面板中,我將無法訪問服務器端的文件。

注意:從目前為止我發現的情況來看,這是出於安全原因。

如果沒有在客戶端上安裝合作二進制文件,就無法完成。 AJAX框架沒有安全機制來讀取文件的內容,因此能夠將其發送到服務器。 瀏覽器僅支持來自文件輸入框的多部分表單。


問題

  1. 將文件存儲在臨時位置時,我應該使用會話還是cookie? (如果用戶禁用了cookie,該怎么辦?)
  2. 如果防止回發,真的是違反用戶安全的標准。 它會損害我的網站聲譽嗎? (關於SEO等)
  3. 走哪條路?
    • C#ASP.Net與AJAX? (有工作嗎?)
    • C#ASP.Net + AJAX控件工具包? 這有幫助嗎? (使用AsyncFileUpload控件)
    • C#ASP.Net + jQuery控件? (從JavaScript中獲取數據不會有問題嗎?)
    • C#ASP.Net + iFrame? (不是最優雅的解決方案)
  1. 您可以使用的cookie總數限制為幾千字節,因此這不是存儲文件的可行選項。 所以會議將是剩下的唯一。 還要考慮將文件保存在文件系統中,如果不打算將其刪除,因為在內存(會話)中存儲文件將限制一次可以處理的用戶數。

  2. 不,對於上傳文件等功能,您不必擔心。 搜索引擎在掃描頁面時不會嘗試使用此類功能。

您可以在支持直接文件訪問的瀏覽器中使用AJAX上傳,但如果您需要支持所有瀏覽器,則無法發布帖子。 但是,帖子不必最終加載新頁面,您可以將表單放在iframe中,或將表單的目標指向iframe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM