上传位于 Angular 项目目录中的文件/图像

Posted

技术标签:

【中文标题】上传位于 Angular 项目目录中的文件/图像【英文标题】:Uploading a file/image located in Angular Project Directory 【发布时间】:2020-12-17 00:08:55 【问题描述】:

我想上传一个文件,该文件存储在我的 angular assets 目录中。下面是我用来将文件上传到 firebase 的代码。

    const file = this.selectedProPic;
    const filePath = `$this.uid/propic`;
    const fileRef = this.afStorage.ref(filePath);
    this.taskProPic = this.afStorage.upload(filePath, file);

在这里,文件变量被分配给从 html 文件上传器中选择的文件。我需要修改此部分/“文件”变量以选择位于 assets/img/default-avatar.jpg 的文件。我尝试使用 toPath 和 pathToFileURL 以及谷歌搜索。但他们都没有工作

【问题讨论】:

【参考方案1】:

你可以使用 Angular 的http client:

this.http.get('assets/filename.txt', responseType: 'text')
    .subscribe(data =>  
         const file = data;
         const filePath = `$this.uid/propic`;
         this.afStorage.upload(filePath, file);
    );

根据文件类型,您可能希望设置适当的 responseType。

【讨论】:

成功了!谢谢!我想上传一张图片。所以我把 responseType 改成了 'blob'

以上是关于上传位于 Angular 项目目录中的文件/图像的主要内容,如果未能解决你的问题,请参考以下文章

Angular Cli- 在 StyleURL 中添加一个位于 node_module 目录中的 css 文件

将spring mvc中的图像永久上传到其他位置

未定义上传适配器 ckeditor5-angular 中的图像上传问题

如何对齐和裁剪位于子目录中的图像以进行人脸识别?

在 Angular 5 中使用文件上传保存 FormData

Angular最新教程-第四节详细说明初始化项目