[英]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.js和a [download]屬性 (Chrome開發者頻道支持)。 Blob(對象)URL現在支持有限 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.