Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:跨浏览器无服务器文件上载和下载_Javascript_File_Api_Cross Browser - Fatal编程技术网

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

Javascript:跨浏览器无服务器文件上载和下载,javascript,file,api,cross-browser,Javascript,File,Api,Cross Browser,因此,我正在开发一个web应用程序,用户需要: 提供一个包含要处理的全部数据的文件 将结果保存到文件中 所有的操作都是用javascript完成的,所以我还不需要服务器端代码(只是静态托管),我喜欢这样 在Firefox中,我可以使用它们允许用户将文件直接上传到客户端代码中(使用标准的),并从文件中创建一个对象URL,以便用户可以保存由客户端代码创建的文件 <input type="file" id="input" onchange="handleFiles(this.files)"&

因此,我正在开发一个web应用程序,用户需要:

  • 提供一个包含要处理的全部数据的文件
  • 将结果保存到文件中
所有的操作都是用javascript完成的,所以我还不需要服务器端代码(只是静态托管),我喜欢这样

在Firefox中,我可以使用它们允许用户将文件直接上传到客户端代码中(使用标准的
),并从文件中创建一个对象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这样的东西来保存我生成的东西。