在Typescript中使用文件

dpiehjr4  于 2023-06-30  发布在  TypeScript
关注(0)|答案(2)|浏览(89)

我正在使用Angular 4和Typescript编写Web应用程序。我需要上传文件的日期,并尝试使用File objects lastModified属性,但是Typescript给我一个错误

Property 'lastModified' does not exist on type 'File'.

如果我查看定义,它将lastModifiedDate作为一个属性。根据https://developer.mozilla.org/en-US/docs/Web/API/File/lastModifiedDate,该属性被破坏了。不过,我试过它,它在Chrome中工作,但在Safari中失败了。
如何使用Typescript中的File lastModified属性?

bnl4lu3b

bnl4lu3b1#

试试看

interface MyFile extends File {
    lastModified: any;
}

let myFile = <MyFile>originalFile;
let lm = myFile.lastModified;
1zmg4dgp

1zmg4dgp2#

也适用于lastModifiedDate,它已被弃用,但目前仍在Chrome中,并且是IE中的only option

// use non-deprecated lastModified field instead 
new Date(file.lastModified)

// in-line type assertion
(file as unknown as { lastModifiedDate: Date }).lastModifiedDate

// type assertion with special type
type DateFile = File & {
  lastModifiedDate: Date;
};
...
(file as DateFile).lastModifiedDate

将通过使用lastModified或Assert它存在来防止TS2551 Property 'lastModifiedDate' does not exist on type 'File'. Did you mean 'lastModified'? ts(2551)错误。

相关问题