Javascript:跨浏览器无服务器文件上传和下载

ram*_*ion 7 javascript api file cross-browser

所以我正在开发一个用户需要的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>
Run Code Online (Sandbox Code Playgroud)

所以这很棒.现在我想在其他浏览器中做同样的事情 - 或者至少是其他浏览器的现代版本.Chrome和IE是否存在类似的API?如果是这样,有没有人已经构建了我应该使用的跨浏览器包装器?

Set*_*eth 2

它主要在 Firefox 3.6+、Chrome 10+、Opera 11.1+ 上可用,希望在 Safari 6 和 IE 10 上可用。

请参阅: http: //caniuse.com/#search=FileReader