所以我工作的一個Web應用程序,其中用戶將需要:的Javascript:跨瀏覽器的無服務器文件上傳和下載
- 提供全面的數據文件,以對
- 挽救他們的工作成果到一個文件
所有的操作都在JavaScript中完成,所以我真的不需要服務器端代碼(只是靜態託管),我喜歡這種方式。
在Firefox中,我可以使用file manipulation 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?如果是這樣,有人已經建立了我應該使用的跨瀏覽器包裝?
耶!這是一個非常漂亮的工具。 – rampion