typescript - 如何在 Typescript 中实例化 File 对象?
问题描述
我看到我的 IDE 识别File
为 Typescript 对象。在 Google 中进行精细搜索将我带到此页面,该页面与对象无关File
。File
既不在基本类型中,也不在高级类型中。
Typescript中的File
对象的处理方式与 Javascript 中的处理方式完全相同吗?有什么突破性的差异吗?
同样,如何在 Typescript 中实例化文件类型?
解决方案
该类File
未定义为 TypeScript 语言本身的一部分,而是 DOM 规范的一部分。TypeScript 为 DOM 对象提供了一个标准声明文件作为标准库的一部分,您可以在此处查看:
/** The File interface provides information about files and allows JavaScript in a web page to access their content. */
interface File extends Blob {
readonly lastModified: number;
readonly name: string;
}
declare var File: {
prototype: File;
new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;
};
当然,声明文件本身不是很友好。您可能会发现MDN DOM API 文档更有用(但请注意,它适用于 JavaScript,而不是 TypeScript,因此不要期望任何显式类型注释)。它提供了这个例子:
var file = new File(["foo"], "foo.txt", {
type: "text/plain",
});
虽然这在技术上是 JavaScript,但它可以像 TypeScript 一样编译,推断的类型file
将是File
.
推荐阅读
- node.js - Nodejs hana-client 连接池示例
- python - 接受一个数组并产生下一个数字的脚本
- powerbi - 我可以同时使用 Direct Query 和 CSV 发布 POWER BI 仪表板吗?
- python - python 3.0中列表的比较
- sql-server - 如何在审计方面以编程方式记录数据库表值更改?
- r - 基于另一列替换数据框列中的值
- swift - 如何将 UITextField 输入从 String 转换为 Double?
- wordpress - ACF - 根据选择值显示 div
- sql - 每次值更改时如何生成新数字
- feathersjs - 使用 Feathersjs 设计注册程序