无法通过rest api下载CSV文件



我试图使用Codeigniter 4中的REST API下载CSV内容文件,但它不起作用,我正在从数据库中获取数据,我需要通过REST API下载。在控制器中,我发现了这个:

return $this->response->download('test.csv', $data); // $data is string
Front in angular:
const headers = new HttpHeaders().append('responseType', 'blob');
this.http.get(path, { headers }).subscribe(
(res) => {},
(error) => {console.error(error)}
);

但是不工作,我错过了什么吗?

请指引我。

如果你试图在应用程序中加载一个csv文件,它需要是一个application/octet-stream。您可以通过在头文件中设置arraybuffer作为响应类型来实现。

this.httpClient.get(path, {
headers,
responseType: 'arraybuffer'
});

但是如果你想下载一个csv到用户的电脑上,你应该可以使用window.open('path to csv'),浏览器会为他们下载它。

最新更新