2014-12-23 75 views
0

我的應用程序基本上轉換圖像。上傳圖像時,會在服務器上進行處理,服務器將結果作爲附件發送回來,從而立即下載。HTTP文件上傳與拖放和文件立即下載

它已經與一個普通的HTML形式的作品,如

<form action="/icon" method="post" enctype="multipart/form-data"> 
    <input type="file" name="image"/> 
    <input type="submit" value="Create"/> 
</form> 

服務器用頭Content-Disposition=attachment; filename=\"processed.zip\"

當然響應,股價<input type="file"...>有一個非常難看的樣子,我想給它一個不同的樣式。此外,爲了改善用戶體驗,我想支持將文件上傳拖放爲&。

但是,所有文件上傳框架或只是普通的基於JavaScript的拖放僅支持「AJAX」類上載(使用XMLHTTPRequest)。然而,然而,立即下載不起作用。

有沒有什麼辦法可以解決這個問題?

+0

看看uploadcare.com改善上傳UX –

回答

0

直到現在我只找到以下解決方案。它涉及一個JavaScript框架,Dropzone.js,但可以與任何其他JavaScript實現協同工作。

  • 拖動手柄&下降和使用JavaScript上傳
  • 服務器返回Base64編碼的zip文件
  • 創建data: URI
  • 使用JavaScript創建創建一個臨時<a>元素和執行click事件(如描述於this StackOverflow answer

此解決方案僅適用於,因爲resulul t小於32 KB。在谷歌瀏覽器和Firefox中,下載甚至有足夠的文件名。不幸的是,在Safari中它不起作用。