所以我工作的一个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