如何将手机摄像头拍摄的图像移动到cordova app目录?
我想将文件移动到理想情况下,使用类似mkdir的新目录
app/www/uploads/new
文件的图像位置保存在var
中imagePath = file://emu/0/android/cache/something.jpg
欢迎任何帮助。
我使用的是Cordova 4.1.2版 还安装了Cordova文件插件
答案 0 :(得分:1)
我认为app/www
目录是只读的,因为它包含您的实际代码并打包为 .apk 。你为什么要在那里需要呢?它仍然是在磁盘上。如果要将其复制到自己的应用程序数据分区,则应使用已提及的文件插件将其移动到 cordova.file.externalDataDirectory 或其他位置你希望移动它。
<强>更新强>
由于您希望将文件显示为HTML上的图像,最简单的方法是将其作为数据URL (base64格式)读取,并将其作为 src 提供给图像而不是像这样的文件的路径
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, onFail);}
function onFail(message) {
alert('Failed because: ' + message);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("<your_image_file>.jpg", null, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}
function gotFile(file){
readDataUrl(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
console.log(evt.target.result);
var imageData = evt.target.result;
document.getElementById("img#image1").src = imageData;
};
reader.readAsDataURL(file); // Read as Data URL (base64)
}
该代码的结构是从Pratik Sharma's answer借用的,它可能不适用于您的情况,但您应该能够从那里获取想法。它依赖于您在HTML上提供此类图像标记。
<img id="image1" src="" />
如果您想了解更多相关信息,请参阅this维基百科文章。