簡體   English   中英

Javascript:跨瀏覽器無服務器文件上傳和下載

[英]Javascript: cross-browser serverless file upload and download

所以我正在開發一個用戶需要的Web應用程序:

  • 提供一個充滿數據的文件
  • 將結果保存到文件中

所有的操作都是用javascript完成的,所以我真的不需要服務器端代碼(只是靜態托管),我喜歡這樣。

在Firefox中,我可以使用他們的文件操作api允許用戶將文件直接上傳到客戶端代碼(使用標准的<input type=file/> )並從文件中創建一個對象URL,這樣用戶就可以保存客戶端代碼創建的文件。

<input type="file" id="input" onchange="handleFiles(this.files)">
<a download="doubled" id="ex">right-click and save as</a>
<script>
  function handleFiles(fileList){
    var builder = new MozBlobBuilder();
    var file = fileList[0];
    var text = file.getAsBinary();
    builder.append(text);
    builder.append(text);
    document.getElementById('ex').href = window.URL.createObjectURL( builder.getBlob() );
  }
</script>

所以這很棒。 現在我想在其他瀏覽器中做同樣的事情 - 或者至少是其他瀏覽器的現代版本。 Chrome和IE是否存在類似的API? 如果是這樣,有沒有人已經構建了我應該使用的跨瀏覽器包裝器?

它主要適用於Firefox 3.6 +,Chrome 10 +,Opera 11.1+,以及希望Safari 6和IE 10。

請參閱: http//caniuse.com/#search=FileReader

查看FileSaver.jsa [download]屬性 (Chrome開發者頻道支持)。 Blob(對象)URL現在支持有限

暫無
暫無

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

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