Проблема связана с нашим кодом, а не с плагином - проблема просмотра на github
Мы использовали следующий код
function captureImage() {
navigator.device.capture.captureImage(captureImageSuccess, captureImageError, {limit: 1});
}
function captureImageSuccess(mediaFiles) {
uploadFile(mediaFiles[0]);
}
function uploadFile(mediaFile,fileType) { //#F333
var win = function (r) {
}
var options = new FileUploadOptions();
ImageURL=mediaFile.fullPath;
options.fileName = (fileType)? mediaFile.name : mediaFile.file; //#F333
options.mimeType = "multipart/form-data";
var params = new Object();
params.fileName = 'AndroidPhoneUpload';
params.imageType = (fileType)?fileType:'Picture'; //#F333
var printName = prompt("Add a title",""); //#F644
if (printName){
params.printedName = printName;
}
window.resolveLocalFileSystemURL(ImageURL, function(fileEntry) {
fileEntry.file(function(fileObj) {
params.fileSize = ""+fileObj.size;
});
});
options.params = params;
var ft = new FileTransfer();
ft.upload(ImageURL, encodeURI("uploadURL"),win,fail,options);
}
Мы заменили функцию captureImage на следующую функцию addImage
function setOptions(srcType) {
var options = {
quality: 50,
limit: 1,
destinationType: Camera.DestinationType.FILE_URI,
// In this app, dynamically set the picture source, Camera or photo gallery
sourceType: srcType,
encodingType: Camera.EncodingType.JPEG,
mediaType: Camera.MediaType.PICTURE,
allowEdit: false,
correctOrientation: true
}
return options;
}
function addImage() {
var srcType = Camera.PictureSourceType.CAMERA;
var options = setOptions(srcType);
navigator.camera.getPicture(function cameraSuccess(imageUri) {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName="test";
options.mimeType="multipart/form-data";
var params = new Object();
params.fileName = 'AndroidPhoneUpload';
params.imageType = 'Picture';
var printName = prompt("Add a title","");
if (printName){
params.printedName = printName;
}
options.params = params;
navigator.notification.alert("Your media is being uploaded.", null, "Add media");
var ft = new FileTransfer();
ft.upload(imageUri, encodeURI("uploadURL"), win, fail, options);
}, function captureImageError(error) {
console.debug("Unable to obtain picture: " + error, "app");
}, options);
}
Чтобы прояснить ситуацию, я считаю, что проблема заключалась в том, что мы использовали камеру для захвата изображения, а затем пытались загрузить медиафайл из хранилища, что вызывало проблемы с разрешениями в новой версии Android.