Scr*_*ch. 4 javascript cordova html5-filesystem
如何使用从相机获取的URL移动文件?
函数moveTo既不调用successCallback也不调用errorCallback.任何人都可以告诉我我做错了什么以及可能的解决方案是什么样的?
function successCallback(entry) {
console.log("New Path: " + entry.fullPath);
alert("Success. New Path: " + entry.fullPath);
}
function errorCallback(error) {
console.log("Error:" + error.code)
alert(error.code);
}
// fileUri = file:///emu/0/android/cache/something.jpg
function moveFile(fileUri) {
newFileUri = cordova.file.dataDirectory + "images/";
oldFileUri = fileUri;
fileExt = "." + oldFileUri.split('.').pop();
newFileName = guid("car") + fileExt;
// move the file to a new directory and rename it
fileUri.moveTo(cordova.file.dataDirectory, newFileName, successCallback, errorCallback);
}
Run Code Online (Sandbox Code Playgroud)
我使用的是Cordova 4.1.2版还安装了Cordova File Plugin
Qui*_*Fix 13
你试图在String上调用函数moveTo.
moveTO不是String的函数,而是fileEntry的函数.所以你需要做的第一件事就是从你的URI中获取一个fileEntry.
为此,你将调用window.resolveLocalFileSystemURL:
function moveFile(fileUri) {
window.resolveLocalFileSystemURL(
fileUri,
function(fileEntry){
newFileUri = cordova.file.dataDirectory + "images/";
oldFileUri = fileUri;
fileExt = "." + oldFileUri.split('.').pop();
newFileName = guid("car") + fileExt;
window.resolveLocalFileSystemURL(newFileUri,
function(dirEntry) {
// move the file to a new directory and rename it
fileEntry.moveTo(dirEntry, newFileName, successCallback, errorCallback);
},
errorCallback);
},
errorCallback);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12430 次 |
| 最近记录: |