Cordova fileWriter.write() 不适用于 blob

Posted

技术标签:

【中文标题】Cordova fileWriter.write() 不适用于 blob【英文标题】:Cordova fileWriter.write() doesn't work with blobs 【发布时间】: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,所以我必须这样做

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

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

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

【问题讨论】:

这能回答你的问题吗? How to Open Attachments of blob content in Cordova ios app 【参考方案1】:

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

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

【讨论】:

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

以上是关于Cordova fileWriter.write() 不适用于 blob的主要内容,如果未能解决你的问题,请参考以下文章

java如何从数据库读取数据并写入txt文件!

java如何写入txt文件

Cordova与现有框架的结合,Cordova插件使用教程,Cordova自定义插件,框架集成Cordova,将Cordova集成到现有框架中

CORDOVA :添加cordova-plugin-file-opener2插件cordova打包报错

cordova的插件怎么引用

Cordova 通知插件安装失败 (Cordova 3.6)