我正在使用chrome扩展程序将用户选择的文件复制到扩展程序的文件系统中。我没有收到任何错误,但是当我试图查看图像时,它已经坏了。以下是代码示例:
this.create = function(obj, attr, calling_model){
// Get parent directory
fs.root.getDirectory(obj.type, {create: true}, function(dirEntry) {
// Create file
dirEntry.getFile(obj.type+'-'+obj.id+'-'+attr.name, {create: true, exclusive: true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
fileWriter.write(attr.value);
}, errorHandler);
alert('just wrote a file to: '+fileEntry.toURL());
// Update passed object
obj[attr.name] = fileEntry.toURL();
calling_model.update(obj);
}, errorHandler);
}, errorHandler);
};
其中attr.value =文件输入的值。在将其写入文件系统之前,我觉得我应该将文件输入的值转换为blob,但我还没有找到任何如何做到这一点的示例。有没有人以前解决过这个问题?
提前致谢...
答案 0 :(得分:0)
如果attr.value
是File
对象,则代码应该有效。我在关于Filesystem API的HTML5Rocks文章中写了一篇关于"duplicating user selected files"的文章,应该有所帮助。