axios 下载图片
时间: 2024-07-04 09:00:56 浏览: 201
在使用 Axios 进行网络请求时,如果你想要下载图片,通常的做法是发送一个 GET 请求,并将返回的响应数据保存为文件。以下是一个基本的例子:
```javascript
import axios from 'axios';
const downloadImage = async (imageUrl) => {
try {
// 创建一个配置对象,设置 responseType 为 'blob' 来获取二进制数据
const response = await axios.get(imageUrl, { responseType: 'blob' });
// 将二进制数据转换为 Blob 对象
const blob = new Blob([response.data], { type: response.headers['content-type'] || '' });
// 创建一个 URL 对象,然后创建一个新的 download a 标签
const urlObject = new URL(window.URL.createObjectURL(blob));
// 创建一个隐藏的 a 标签,触发下载
const aLink = document.createElement('a');
aLink.href = urlObject;
aLink.download = response.headers['content-disposition'].split('"') || 'image.jpg'; // 获取或设置默认文件名
aLink.click();
// 清理
window.URL.revokeObjectURL(urlObject);
} catch (error) {
console.error('Error downloading image:', error);
}
};
// 使用下载图片的函数
downloadImage('http://example.com/image.jpg');
```
阅读全文