如何在安装了 cordova-plugin-file 的 cordova 中使用 w3c 文件对象?

How to use w3c File object in cordova with cordova-plugin-file installed?

我正在尝试使用默认的 File() 构造函数创建一个 File 对象,但是由于 cordova-plugin-file 用它自己的 File() 构造函数实现替换了构造函数,所以我无法获得文件对象。有没有办法在不删除文件插件的情况下访问 w3c 文件构造函数?

此外,是否可以编辑插件,以便将 File() 构造函数重命名为 FileCordova() 之类的任何其他内容,以便可以访问默认构造函数和插件的构造函数?

PS : 我需要 File 对象传入一个只接受 w3c File 对象的函数,所以插件返回的对象对我来说几乎没用。

我通过编辑 cordova-plugin-file 弄明白了。我在 /Project/plugins/cordova-plugin-file/

处编辑了 plugin.xml

我改变了这个:

 <js-module src="www/File.js" name="File">
    <clobbers target="window.File" />
</js-module>

对此:

<js-module src="www/File.js" name="File">
    <clobbers target="window.FileC" />
</js-module>

编辑文件后,我转到 cordova cmd 并删除了我拥有的所有平台

cordova platform remove android
cordova platform remove browser

然后我再次将它们添加回来,因为这是将插件重新加载到资产文件夹到平台的唯一方法。

cordova platform add android
cordova platform add browser

在此之后,我能够使用 new File() 构造函数获取默认的 File 对象,并使用 new FileC() 构造函数获取文件插件的 File 对象。

这里有一个更简单的调整。由于标准文件对象只是一种特殊类型的 Blob,您可以重新创建一个(此示例使用 TypeScript):

interface FileBlob extends Blob {
    lastModified: number;
    name: string;
}

然后像使用标准文件一样使用 FileBlob