我正在工作一个反应项目,我是第一次使用科多瓦插件。我已经正确地拍摄了照片,但是现在我想使用持久存储将它们本地存储在设备上。我发现了相当好的文档,但由于某种原因,这些代码无法工作。如果有人能帮忙,我会很感激的!
这里是我的函数:
takePicture() {
navigator.camera.getPicture(
imageData => {
this.setState({image: imageData});
let path = 'filesystem:' + imageData;
window.resolveLocalFileSystemURL(
path,
(entry) => {
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
50 * 1024 * 1024,
(fileSys) => {
//The folder is created if doesn't exist
fileSys.root.getDirectory(
'Observation Photos',
{create:true, exclusive: false},
directory => {
let d = new Date(),
n = d.getTime(),
filename = n + '.jpg';
entry.moveTo(directory, filename, (entry) => {
Photos.insert(entry);
}, handleError);
},
handleError
);
},
handleError
);
}, (error) => {
console.log(error);
}
);
}, message => {
console.log(message);
}
);
}
这里是我要传递的路径的一个例子:
filesystem:file:///storage/emulated/0/Android/data/com.id1b9kkvri4mj2dnqkf9p/cache/1470171102308.jpg
在检查器:中返回这个
FileError {code: 5}
发布于 2016-08-03 10:42:25
路径值应为Android/data/com.id1b9kkvri4mj2dnqkf9p/cache/1470171102308.jpg;
因此,它需要一个小小的改变:
let path = imageData.replace("file:///storage/emulated/0/","");https://stackoverflow.com/questions/38730522
复制相似问题