Skip to content

官方文件管理插件

只列出部分主要功能,其他功能及参数详细说明请参考官方文档https://www.npmjs.com/package/cordova-plugin-file https://www.npmjs.com/package/cordova-plugin-file-transfer

介绍

cordova-plugin-file 文件的读取/写入

cordova-plugin-file-transfer 上传下载文件

主要功能

保存二进制文件到自定义目录

示例

js
function saveBase64Image(base64Data, fileName) {
  // 1. 解析 Base64 数据(去除前缀,如 "data:image/png;base64,")
  const base64Image = base64Data.split(",")[1];
  // 2. 转换为二进制数据(ArrayBuffer)
  const binaryData = atob(base64Image);
  const arrayBuffer = new ArrayBuffer(binaryData.length);
  const uint8Array = new Uint8Array(arrayBuffer);
  for (let i = 0; i < binaryData.length; i++) {
    uint8Array[i] = binaryData.charCodeAt(i);
  }
  // 3. 获取目标目录路径
  window.resolveLocalFileSystemURL(
    cordova.file.dataDirectory,
    function (dirEntry) {
      // 4. 创建文件并写入数据
      dirEntry.getFile(
        fileName,
        { create: true },
        function (fileEntry) {
          fileEntry.createWriter(function (fileWriter) {
            fileWriter.onwriteend = function (e) {
              console.log("图片保存成功:", fileEntry.nativeURL);
              // 返回本地路径(可用于 <img src>)
              return fileEntry.nativeURL;
            };
            fileWriter.onerror = function (e) {
              console.error("保存失败:", e);
            };
            fileWriter.write(arrayBuffer);
          });
        },
        function (error) {
          console.error("文件创建失败:", error);
        }
      );
    },
    function (error) {
      console.error("目录解析失败:", error);
    }
  );
}

详细说明网址

https://www.npmjs.com/package/cordova-plugin-file

下载文件

示例

js
var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/download.php");

fileTransfer.download(
  uri,
  fileURL,
  function (entry) {
    console.log("download complete: " + entry.toURL());
  },
  function (error) {
    console.log("download error source " + error.source);
    console.log("download error target " + error.target);
    console.log("download error code" + error.code);
  },
  false,
  {
    headers: {
      Authorization: "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA==",
    },
  }
);

详细说明网址

https://www.npmjs.com/package/cordova-plugin-file-transfer