使用 webkitRequestFileSystem,我想做一些非常简单的事情:从用户那里获取文件,将其保存到浏览器本地文件系统,然后使用它(例如作为图像 src 等)
我阅读了有关 webkitRequestFileSystem 的信息,但没有找到任何有关从用户那里克隆文件的信息(也许我错过了?)。
所以我尝试了一个简单的读取、获取文件、写入的实现,一切似乎都有效(调用成功回调),我可以看到带有 chrome 扩展名的文件(HTML5 文件系统资源管理器),但是当我尝试使用图像时url 它显示一个损坏的图像图标。
这是克隆文件的片段(有点,不得不清理一下):
var src_file = .... <-- got it from user
filesystem.root.getFile("output.png", {create: true}, function(dest_file)
{
var reader = new FileReader();
reader.onerror = function() {alert("ERROR")};
reader.onload = function(e)
{
read_buffer = e.target;
dest_file.createWriter(function(fileWriter) {
var blob = new Blob([read_buffer.result], {type: 'application/octet-stream'}); // <-- also tried "image/png" etc..
fileWriter.onerror = function() {alert("ERROR2")};
fileWriter.onwriteend = function(writer)
{
alert("SUCCESS!");
};
fileWriter.write(blob);
}, function() {alert("ERROR3")});
};
reader.readAsBinaryString(src_file);
});
PS我在本地主机上工作,这是一个问题吗?
谢谢!