Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 html 5+;webkitRequestFileSystem:从用户保存图像文件_Javascript_Html_Filesystem Browser - Fatal编程技术网

Javascript html 5+;webkitRequestFileSystem:从用户保存图像文件

Javascript html 5+;webkitRequestFileSystem:从用户保存图像文件,javascript,html,filesystem-browser,Javascript,Html,Filesystem Browser,使用webkitRequestFileSystem,我想做一些非常简单的事情:从用户那里获取一个文件,将其保存到浏览器本地文件系统,然后在以后使用它(例如作为image src等) 我读过关于webkitRequestFileSystem的文章,但并没有找到任何关于从用户克隆文件的内容(也许我错过了?) 因此,我尝试了一个简单的实现,包括读取、获取文件、写入,一切似乎都正常(调用成功回调),我可以看到带有chrome扩展名的文件(HTML5文件系统浏览器),但当我尝试使用图像url时,它会显示一

使用webkitRequestFileSystem,我想做一些非常简单的事情:从用户那里获取一个文件,将其保存到浏览器本地文件系统,然后在以后使用它(例如作为image src等)

我读过关于webkitRequestFileSystem的文章,但并没有找到任何关于从用户克隆文件的内容(也许我错过了?)

因此,我尝试了一个简单的实现,包括读取、获取文件、写入,一切似乎都正常(调用成功回调),我可以看到带有chrome扩展名的文件(HTML5文件系统浏览器),但当我尝试使用图像url时,它会显示一个损坏的图像图标

下面是克隆文件的代码片段(需要稍微清理一下):


var src_文件= 回答自己:应该使用readAsArrayBuffer()而不是readAsBinaryString()。。。那是多么浪费时间啊://

至少你抓到了!
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);
});