gpt4 book ai didi

javascript - Cordova 使用文件 url 移动文件

转载 作者:搜寻专家 更新时间:2023-11-01 04:51:48 26 4
gpt4 key购买 nike

如何使用从相机获取的 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);
}

我正在使用 Cordova 版本 4.1.2 还安装了 Cordova 文件插件

最佳答案

您正在尝试对字符串调用函数 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);
}

关于javascript - Cordova 使用文件 url 移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com