Javascript:跨浏览器无服务器文件上载和下载
因此,我正在开发一个web应用程序,用户需要:Javascript:跨浏览器无服务器文件上载和下载,javascript,file,api,cross-browser,Javascript,File,Api,Cross Browser,因此,我正在开发一个web应用程序,用户需要: 提供一个包含要处理的全部数据的文件 将结果保存到文件中 所有的操作都是用javascript完成的,所以我还不需要服务器端代码(只是静态托管),我喜欢这样 在Firefox中,我可以使用它们允许用户将文件直接上传到客户端代码中(使用标准的),并从文件中创建一个对象URL,以便用户可以保存由客户端代码创建的文件 <input type="file" id="input" onchange="handleFiles(this.files)"&
- 提供一个包含要处理的全部数据的文件
- 将结果保存到文件中
),并从文件中创建一个对象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>
右键单击并另存为
函数句柄文件(文件列表){
var builder=new MozBlobBuilder();
var file=fileList[0];
var text=file.getAsBinary();
builder.append(文本);
builder.append(文本);
document.getElementById('ex').href=window.URL.createObjectURL(builder.getBlob());
}
所以这很好。现在,我想在其他浏览器上做同样的事情——或者,至少是在其他浏览器的现代版本上。Chrome和IE是否存在类似的API?如果是这样的话,是否有人已经构建了我应该使用的跨浏览器包装器?它主要在Firefox 3.6+、Chrome 10+、Opera 11.1+上提供,希望还有Safari 6和IE 10
请参阅:.签出和(在Chrome开发频道中受支持)。Blob(object)URL现在有点问题。Yay!这是一个非常漂亮的工具。太棒了——我刚刚发现我需要像blobURL这样的东西来保存我生成的东西。