javascript - 使用 axios 获取文件(内容和文件名)
问题描述
有一个提供可下载文件的 API 端点 - 当直接从浏览器访问 url 时 - 文件会自动保存。但是,我想从我的应用程序中定位给定的端点,并将文件名和内容获取到我的应用程序的 redux 商店中的减速器。
我正在使用axios
所有 API 请求。在这种情况下,我试图这样做:
axios({
url: API_ENDPOINT_URL,
method: "GET",
headers,
}).then((response) => {
// do some stuff
console.log("response ", response)
})
在此设置中,response
仅包含data
,没有文件名。如何解决这个问题?
解决方案
您可以在 axios 中添加可以是流或 blob 的响应类型(取决于文件类型)
axios({
method:'get',
url:'endpoint_url',
responseType:'stream'
})
.then(function (response) {
response.data.pipe(fs.createWriteStream('file_name.jpg'))
})
这直接来自 axios 文档。让我知道您是否需要其他东西
推荐阅读
- erlang - 强制转换为 `any()` 是让 Dialyzer 接受 ETS 匹配模式的好解决方案吗?
- c++ - 是否可以使用定制的 GUI 来操作另一个程序的文本文件上的信息?如果是这样,怎么做?
- web - Microsoft IIS 虚拟目录:在本地服务器上托管图像,在本地网站上显示
- android - 如何在flutter中创建自定义BottomNavigationBar?
- api - 版本一 - 获取与项目关联的所有团队和成员
- 3d - 如何让 3D 相机并排“跟随”角色位置
- spring-boot - Hibernate ManyToMany 本身不正确的映射
- python-3.x - 重置 python Logger 以防止重复的日志记录
- javascript - React 在处理两个组件文件时无法按预期工作
- python - 如何根据 numpy 文档避免 numpy.random.seed 的最佳实践?