【发布时间】:2011-11-04 21:56:17
【问题描述】:
所以我正在开发一个用户需要的网络应用程序:
- 提供一个完整的数据文件来处理
- 将结果保存到文件中
所有操作都是在 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?如果是这样,是否有人已经构建了我应该使用的跨浏览器包装器?
【问题讨论】:
标签: javascript file api cross-browser