在 Angular 中将图像转换为文件类型

我正在修改角度打字稿中的方法 a ,它使用类型文件的输入元素上传图像,并且方法事件正在传递。我必须修改一个方法,因为现在没有输入元素,并且我的 angular 项目的资产文件夹中有一个图像文件。所以现在我不想篡改之前写的代码:


loadImages(event) {

const files = event.target.files;

if (this.CheckFileName(files[0].name) && this.CheckFileSize(files[0].size)) {

  let imageList = [];

  const fileList: Array<File> = Array.from(files);

  fileList.sort((a, b) => {

    if (a.name > b.name)

      return 1;

    if (b.name > a.name)

      return -1;

    return 0;

  })

}

现在我希望我的文件来自“../../assets/images/0001.png”。我如何通过从给定路径读取我的图像文件并将其转换为类型 File 来实现相同的效果。


波斯汪
浏览 206回答 1
1回答

慕标琳琳

您可以使用 fetch 图像然后将其转换为 File 对象。您将需要返回一个 Observable 而不是直接返回值。getImage() {&nbsp; return this.http&nbsp; &nbsp; .get("https://picsum.photos/id/34/200/300", {&nbsp; &nbsp; &nbsp; responseType: "arraybuffer"&nbsp; &nbsp;})&nbsp; &nbsp; .pipe(&nbsp; &nbsp; &nbsp; map(response => {&nbsp; &nbsp; &nbsp; &nbsp; return new File([response], "myImage.png");&nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; );}您可以在此处查看工作演示。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript