Cordova 使用文件 url 移动文件

2023-12-06

如何使用从相机获取的 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);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cordova 使用文件 url 移动文件 的相关文章

随机推荐

  • ImapMailReceiver 在只读文件夹上没有存储尝试(失败)[THROTTLED];

    我花了一天时间试图找到这个异常的一些解释 我尝试以编程方式配置 ImapMailReceiver 和 ImapIdleChannelAdapter 我没有找到任何关于这个问题的教程 只是一些小信息专业弹簧集成 book public voi
  • 如何验证 jtextfield 仅接受整数[重复]

    这个问题在这里已经有答案了 可能的重复 将 JTextField 输入限制为整数 检测 JTextField 取消选择 事件 我需要验证JTextField如果用户输入数字以外的任何字符 则允许用户仅在其中输入整数值JOptionPane
  • OWL 中奇怪的查询行为!

    在 OWL 中这个查询工作正常 person and hasChild min 3 它工作正常 它为我提供了所有拥有 3 个以上孩子的人 但这不起作用 person and hasChild max 3 它应该给我所有少于 3 个孩子的人
  • SyntaxError:尝试在 e2e 角度测试中导入量角器时出现意外的令牌导入

    我已经编写了一个 Angular 4 应用程序 现在我正在尝试使用运行一些基于 e2e 的测试Protractor 我在这里错过了什么吗 尝试运行测试脚本时出错 rob work repo npm run e2e gt email prot
  • 当手机未充电时应用程序的服务停止

    我的 Activity 通过调用启动服务startservice 为了简化我的问题 假设该服务将是一个计数器 并且计数器将每 10 秒增加一次 Timer t counter int counter 0 Override public in
  • JPQL 查询非实体集合

    我想使用非实体集合进行 JPQL 查询 这是我的表实体 Entity Table name ct table public class Table CollectionOfElements fetch FetchType EAGER Joi
  • 如何为映射函数内的每次迭代分配新的引用?

    我不知道如何问这个问题 因为我仍然无法准确地界定问题 我创建了一个 useHover 函数 下面 您将看到我正在映射数据并渲染一堆照片 但是 useHover 仅适用于第一次迭代 我怀疑这是因为我的裁判 这是如何运作的 我应该在每次迭代中创
  • 如何将canvas标签中的图像保存到php服务器?

    我有这样的 JavaScript 代码 var testCanvas document getElementById canvas 1 var canvasData testCanvas toDataURL image png var aj
  • firebase.auth.RecaptchaVerifier 不是构造函数错误

    初始化 Firebase 应用程序后 尝试在我的 html 中添加 Firebase 脚本firebase initializeApp config 那么我有这个
  • 使用 Spacy 计算多个文档相似度的有效方法

    我有大约 10k 文档 主要是 1 2 个句子 并且希望为每个文档找到 60k 文档集合中的 10 个最相似的文档 因此 我想使用spacy库 由于文档数量庞大 这需要高效 因此我的第一个想法是计算 60k 文档中的每一个以及 10k 文档
  • Eclipse 运行以前的程序

    这是一个新问题 我复制粘贴一个程序并尝试在 Eclipse 中运行它 但日食继续运行旧程序 我不知道发生了什么事 我按照互联网上有人的建议保存了该程序 在运行按钮中 只有旧程序 因此 我进入运行配置选项 双击 java 应用程序选项 不知何
  • 城市表中的地理位置距离 SQL [重复]

    这个问题在这里已经有答案了 所以我有这个函数根据纬度 经度和半径参数计算最近的城市 DELIMITER DROP PROCEDURE IF EXISTS world db geolocate close cities CREATE PROC
  • 如何在php中从来自mysql数据库的动态数据生成pdf文件?

    我正在做一个网络应用社会管理系统 在此应用程序中 我想分别为每个用户生成 pdf 文件 意味着在发票生成过程中 如果有 10 个用户 则在单击生成 PDF 按钮后 应为每个用户生成单独的发票作为 pdf 格式 我的发票是为每个用户生成的 但
  • 在做教程时使用 sklearn 遇到 ImportError

    您好 我正在尝试遵循 sklearn 提供的机器学习 101 教程 但我一直遇到错误 我从这里下载了最多的sklearn版本 https github com scikit learn scikit learn 我运行 Windows 蟒蛇
  • 如何自己命名servingURL?

    我想要一个来自存储在 Google CS 存储桶中的图像文件的servingURL 它是我自己命名的 我想自己命名servingURL 我有一个单独的微服务 它应该定义servingURL 的名称 在这种情况下 我不必从 Google AE
  • Firebase Cloud 函数:Typescript 无法编译为 JavaScript

    我的计算机上的云功能可以使用 Javascript 但是当我使用 TypeScript 尝试它时 它不会编译为 Javascript 它不会创建 lib index js 事件 当我运行 firebase 部署时 它显示以下错误 Error
  • 为什么Java中的main方法总是需要参数?

    为什么Java中的main方法总是需要参数 我们为什么要写String args每次 而不是在我们使用任何参数时只写它 像这样的方法会生成Main method not found编译器错误 由于我们从不使用 main 方法的任何参数 因此
  • 重新加载片段

    我只是好奇 因为我在 FragmentActivity 中设置了 Fragment 选项卡 如何从 FragmentActivity 或 Fragment 本身重新加载片段 以清除并重新加载该选项卡 我本质上需要与我重新选择要发生的选项卡时
  • 当端口存在时,为什么我会收到 Java NoSuchPortException?

    下面有以下生产代码 我将其用于新驱动程序 portName 是 COM4 并且该端口存在于 PC 上 我可以使用超级终端连接到它 那么为什么 Javacomm 会抛出 NoSuchPortException COM4 在设备管理器中显示良好
  • Cordova 使用文件 url 移动文件

    如何使用从相机获取的 URL 移动文件 moveTo 函数不会调用 successCallback 和 errorCallback 谁能告诉我我做错了什么以及可能的解决方案是什么样的 function successCallback ent