我使用ionicframework和ngCordova FileTransfer插件从android gallery中复制图像。
我尝试以下
$scope.getImage = function()
{
var options = {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
saveToPhotoAlbum: false
};
$cordovaCamera.getPicture(options).then(
function(fileUri)
{
console.log(fileUri);
$cordovaFileTransfer.download(fileUri, cordova.file.dataDirectory + 'my-image.jpg', {}, true).then(
function(fileEntry)
{
$scope.images.imageUri = fileEntry.nativeURL;
},
function (error)
{
console.log(error);
}
);
},
function(error)
{
console.log(error);
}
);
}
在上面的代码中,errocallback是调用,控制台显示错误消息:
"权限拒绝:阅读com.android.providers.media.MediaDocumentsProvider uri内容://com.android.providers.media.documents/document/image%253A19753来自pid = 3933,uid = 10194需要android .permission.MANAGE_DOCUMENTS或grantUriPermission()"
答案 0 :(得分:0)
$cordovaFileTransfer
不适用于复制/移动文件。它用于下载和上传功能。
您必须使用方法$cordovaFile
copyFile(path, file, newPath, newFile)
。
在使用$cordovaFile
之前,您必须使用以下命令安装其插件:cordova plugin add org.apache.cordova.file
希望它能帮助你!