gpt4 book ai didi

javascript - 如何在 Angular 中使用 HttpClient 从 Assets 中下载文件?

转载 作者:行者123 更新时间:2023-12-05 06:14:07 25 4
gpt4 key购买 nike

基于以前对类似问题的回答,例如 this one 、下载或一般情况下,从 Assets 目录读取文件应该是对 HttpClientget 方法的直接调用。例如,如果我有一个 DownloadService,我可以简单地将它定义为:

export class DownloadService {

constructor(http: HttpClient){}

download(data) {
this.http.get('/assets/path/to/file.ext').subscribe(res => process(res));
}

}

但是,当我使用 ng serve 对此进行测试时,我收到一条错误消息,提示 /assets/path/to/file.ext 不是有效的 URL。我尝试了 ./assets/path/to/file.extassets/path/to/file.ext 但我遇到了同样的错误。我是否需要在运行时配置一些东西才能使其正常工作,或者自写完这些答案后这是否发生了变化?我正在使用 Angular 9。

最佳答案

每当您尝试获取与 JSON 不同的内容时,就会发生此错误。要修复它,请相应地定义 responseType。例如

this.http.get('./assets/path/to/file.txt', {responseType: 'text'}).subscribe(res => process(res));

此外,请注意我是如何更改 URL 的,它应该是 ./assets/foo.bar

这是一个工作示例 https://stackblitz.com/edit/angular-9-starter-l1cn5j

只需检查控制台 :)

顺便说一下,这些是 responseType 可接受的类型:

responseType: 'arraybuffer'|'blob'|'json'|'text'

关于javascript - 如何在 Angular 中使用 HttpClient 从 Assets 中下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63037026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com