【问题标题】:Cordova fileWriter.write() doesn't work with blobsCordova fileWriter.write() 不适用于 blob
【发布时间】:2022-01-04 06:59:35
【问题描述】:

在官方文档和网上发布的许多其他解决方案中,下面的代码应该是在Cordova中将数据写入文件的方式

function writeFile(fileEntry, dataObj) {
    fileEntry.createWriter(function (fileWriter) {
        fileWriter.write(dataObj);
    });
}

writeFile(someFileEntry, blob);

在文档中,他们明确表明可以将 blob 作为“dataObj”传递,但每当我将 blob 作为“dataObj”传递时,生成的文件只有 2 个字节的数据。检查文件后发现文件内容只包含一个字符串

{}

因此是 2 个字节。

我尝试将字符串作为“dataObj”传递,结果文件的内容是完全相同的字符串,所以我猜字符串有效吗?但是我希望写入文件的数据是一个包含从画布记录的视频数据的 blob,所以我必须这样做

  1. 以某种方式将视频 blob 转换为字符串并将字符串写入文件

  2. 以某种方式修复“fileWriter.write”函数

但我对这些解决方案无能为力。我尝试过“blob.text()”或使用“fileReader”将 blob 的内容作为字符串获取,但生成的文件总是被破坏。修复“fileWriter.write”函数超出了我的深度。有人可以帮我解决这个问题吗?

【问题讨论】:

标签: javascript file cordova blob cordova-plugins


【解决方案1】:

我也有同样的问题。我认为这可能与cordova-plugin-file docs中所述的以下内容有关:

但我觉得这很奇怪,因为示例都使用 FileWriter.write(blob) 但它说平台不支持该功能。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
  • 嗯...好吧,剩下的唯一选择似乎是将 blob 作为文本写入文件,但到目前为止,我所做的所有尝试都导致文件损坏。你知道如何正确地做到这一点吗? (有问题的 blob 是从画布记录的视频数据)
猜你喜欢
  • 2017-07-16
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多