上传位于 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 文件
未定义上传适配器 ckeditor5-angular 中的图像上传问题