我有一个有图像的网址。我想使用chrome api下载该图像。我正在开发一个Chrome应用程序而不是扩展程序。 谁能告诉我哪里出错了?
我的代码:
service('fileService', function($window){
this.saveUserInfo = function(theFilePath) {
// filepath is the url passed from controller{
// Get the directory entry stored (if any).
var fileUrl = "";
var config = {
type: 'saveFile',
suggestedName: 'TheBee.png',
accepts:[{extensions: ['png', 'jpg', 'jpeg']}]
};
chrome.fileSystem.chooseEntry(config, function(writableEntry) {
chrome.fileSystem.getWritableEntry(writableEntry, function(entry1) {
entry1.getFile(theFilePath, {create:true}, function(entry2) {
entry2.createWriter(function(writer) {
var blob = new Blob({type: 'image/png'});
writer.write(blob);
});
});
});
});
});
});
答案 0 :(得分:0)
更改
var blob = new Blob({type: 'image/png'});
要
var blob = new Blob([entry1],{type: 'image/png'});
Blob构造函数接受blob部分:MSDN => Blob(blobParts [,选项])
答案 1 :(得分:0)
你不能在entry1上使用getFile,因为它本身就是一个文件。您需要将config.type更改为“openDirectory”
您还需要添加一个空数组作为blob构造函数的第一个输入。