我正在尝试使用默认的File()构造函数创建一个File对象,但由于cordova-plugin-file用它自己的File()构造函数实现替换构造函数,我无法获取File对象。有没有办法在不删除文件插件的情况下访问w3c File构造函数?
此外,是否可以编辑插件,以便可以将File()构造函数重命名为FileCordova()等其他任何内容,以便可以访问默认值和插件的构造函数?
PS:我需要File对象传入一个只接受w3c File对象的函数,所以插件返回的对象对我来说几乎没用。
答案 0 :(得分:0)
我通过编辑cordova-plugin文件来解决这个问题。我编辑了/ 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
在此之后,我可以使用新的File()构造函数获取默认的File对象,使用新的FileC()构造函数获取文件插件的File对象。
答案 1 :(得分:0)
这是一个更容易的调整。由于标准File对象只是Blob的一种特定类型,因此您可以重新创建一个(此示例使用TypeScript):
interface FileBlob extends Blob {
lastModified: number;
name: string;
}
然后像使用标准文件一样使用FileBlob
。