0
これは私の関数であるcordovaカメラプラグインを使用してフォトライブラリからイメージを選択する機能です。PhotolibraryからFilesystemへのイメージのコピー - エラー1000
$('#select').click(function() {
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType: Camera.DestinationType.FILE_URL,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY });
function onSuccess(imageURI) {
window.resolveLocalFileSystemURL(imageURI, function(entry) {
debugger;
fs.root.getDirectory('InsectFinder', {}, function(dirEntry) {
debugger;
dirEntry.getDirectory('FundmeldungPictures', {}, function(dirDirEntry) {
debugger;
var newFileName = fundmeldungInsectId + "_" + (images.length+1) + ".jpg";
entry.copyTo(dirDirEntry, newFileName, function(newEntry) {
debugger;
var img = {name: newFileName, id: images.length+1};
images = images.concat(img);
bilderDataSource.data(images);
console.log("yay");
}, errorHandler);
}, errorHandler);
}, errorHandler);
}, errorHandler);
}
function onFail(message) {
console.error('Failed because: ' + message);
}
});
問題は、私がcopyTo
関数に到達したとき、私は携帯電話のカメラで画像を撮影するとき、私は同じコードを持って、それが正常に動作し、コード1000 でエラーを取得し、です。
編集: これは私がファイルシステムを要求する機能です。グローバル変数としてfsを宣言したので、このファイルシステムに別々の時間にアクセスすることができます。
window.requestFileSystem(window.PERSISTENT, 100*1024*1024, function(filesystem) {
console.log("opened file system: " + filesystem.name);
fs = filesystem;
}, errorHandler);
編集:私はのcopyTo機能をデバッグするとき、私はそれがこのラインで失敗 思う:
var messages = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson);
メッセージは、私は、次のエラー処理では、この関数の後
を定義されていません次のプロセスを取得メッセージ:
"S01 File1981269537 {"isFile":false,"isDirectory":true,"name":"FundmeldungPictures","fullPath":"\/InsectFinder\/FundmeldungPictures","filesystemName":"persistent","filesystem":1,"nativeURL":"file:\/\/\/storage\/emulated\/0\/InsectFinder\/FundmeldungPictures\/"}"
権限の問題が考えられます。 Anrdoid MarshMallowでテストしていますか? – Gandhi
@Gandhiはい、私はAndroid 6.0.1を持っています – adryr
最新のバージョンのカメラプラグインを使用していることを確認してください.Marshmallowに関連するすべての許可の問題があり、もっと重要なのは最近リリースされたcordovaファイルプラグイン(4.2.0)の最新版を使用します。 – Gandhi