使用axios获取文件(内容和文件名)

时间:2019-01-17 21:48:20

标签: javascript ecmascript-6 axios

有一个提供可下载文件的API端点-当直接从浏览器访问url时,文件会自动保存。但是,我想从我的应用程序中定位给定的终结点,然后将文件名和内容提取到应用程序的redux存储区中的reducer。

我对所有API请求都使用axios。在这种情况下,我正在尝试这样做:

axios({
    url: API_ENDPOINT_URL,
    method: "GET",
    headers,
}).then((response) => {
    // do some stuff 
    console.log("response ", response)
})

在此设置中,response仅包含data,没有文件名。该怎么办?

1 个答案:

答案 0 :(得分:-1)

您可以在axios中添加响应类型,该响应类型可以是流或blob(取决于文件类型)

axios({
  method:'get',
  url:'endpoint_url',
  responseType:'stream'
})
  .then(function (response) {
    response.data.pipe(fs.createWriteStream('file_name.jpg'))
  })

这直接来自axios文档。让我知道您是否还需要其他东西