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的主要内容,如果未能解决你的问题,请参考以下文章
Cordova与现有框架的结合,Cordova插件使用教程,Cordova自定义插件,框架集成Cordova,将Cordova集成到现有框架中