图像选择器Cordova插件不返回文件uri';s
我正在使用imagepicker插件在我的ionic 2应用程序中一次选择多个图像。它显示所有图像,我们也可以设置选择图像的最大数量,但它不会返回正确的路径。它显示一些缓存路径,例如图像选择器Cordova插件不返回文件uri';s,cordova,ionic-framework,ionic2,Cordova,Ionic Framework,Ionic2,我正在使用imagepicker插件在我的ionic 2应用程序中一次选择多个图像。它显示所有图像,我们也可以设置选择图像的最大数量,但它不会返回正确的路径。它显示一些缓存路径,例如 file:///data/data/io.cordova.myapp72eec3/cache/tmp_DSC_000899887878782.jpg。 我没有创建名为io.cordova.myapp72eec3的文件夹,它是自动创建的,缓存子文件夹中甚至没有一个图像。请帮我解决这个问题。这很正常,据我所知,你可以在
file:///data/data/io.cordova.myapp72eec3/cache/tmp_DSC_000899887878782.jpg
。
我没有创建名为
io.cordova.myapp72eec3
的文件夹,它是自动创建的,缓存子文件夹中甚至没有一个图像。请帮我解决这个问题。这很正常,据我所知,你可以在IOS上使用该路径做任何你想做的事情,但在Android中不是这样,你需要将文件复制到另一个文件夹,然后通过新的url访问它。下面是一个示例代码:
function makeid() {
var text = '';
var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
for (var i = 0; i < 5; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
};
function saveMedia(type) {
return $q(function(resolve, reject) {
var options = optionsForType(type);
$cordovaCamera.getPicture(options).then(function(imageUrl) {
var name = imageUrl.substr(imageUrl.lastIndexOf('/') + 1);
var namePath = imageUrl.substr(0, imageUrl.lastIndexOf('/') + 1);
var newName = makeid() + name;
$cordovaFile.copyFile(namePath, name, cordova.file.dataDirectory, newName)
.then(function(info) {
FileService.storeImage(newName);
resolve();
}, function(e) {
reject();
});
});
})
}
函数makeid(){
var text='';
可能的变量='ABCDEFGHIjklmnopqrstuvxyzabCDEFGHIjklmnopqrstuvxyzo123456789';
对于(变量i=0;i<5;i++){
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
}
返回文本;
};
功能存储媒体(类型){
返回$q(函数(解析、拒绝){
var选项=选项FORTYPE(类型);
$cordovaCamera.getPicture(选项)。然后(函数(imageUrl){
var name=imageUrl.substr(imageUrl.lastIndexOf('/')+1);
var namePath=imageUrl.substr(0,imageUrl.lastIndexOf('/')+1);
var newName=makeid()+name;
$cordovaFile.copyFile(名称路径、名称、cordova.file.dataDirectory、newName)
.然后(功能(信息){
FileService.storeImage(新名称);
解决();
},功能(e){
拒绝();
});
});
})
}
您还需要cordovafile插件来复制文件。你可以找到一个教程来指导你我正在使用ionic 2制作一个秘密vallet应用程序,为此,获取我选择的图像的原始路径对我来说很重要。你应该添加此信息的来源