我从联系人列表中提取了照片网址,并获得了以下路径:
content://com.android.contacts/contacts/1237/photo
在上传到javascript之前(我使用Cordova)我想获取图像并将其作为png
文件保存在本地存储中。
这是我到目前为止所做的:
private void savefile(String name, String path){
File direct = new File(Environment.getExternalStorageDirectory() + "/myApp/images/");
File file = new File(Environment.getExternalStorageDirectory() + "/myApp/images/"+name+".png");
if(!direct.exists()){
direct.mkdir();
}
if (!file.exists()) {
try {
file.createNewFile();
FileChannel src = new FileInputStream(path).getChannel(); // <- here I get Exception
FileChannel dst = new FileOutputStream(file).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
但是我找不到文件异常
有什么想法吗?
谢谢,
答案 0 :(得分:2)
window.resolveLocalFileSystemURI(imageURI, gotFileEntryMessage, fsFailMessage);
function gotFileEntryMessage(fileEntry) {
var Path = fileEntry.fullPath;
alert(Path);
}
function fsFailMessage(error) {
console.log("failed with error code: " + error.code);
}
这件事将为您提供存储在手机内存中的文件路径,并使用Cordova插件将其传递给您的Java方法。