react post下载文件
时间: 2024-10-20 09:09:11 浏览: 23
在React中,如果你需要从服务器下载文件并提供给用户下载,你可以使用fetch API、axios库或者是传统的XMLHttpRequest。这里是一个简单的例子,使用fetch API:
```jsx
import React, { useState } from 'react';
const DownloadButton = () => {
const [fileUrl, setFileUrl] = useState('https://example.com/file.pdf'); // 替换为你实际的文件URL
const downloadFile = async () => {
try {
const response = await fetch(fileUrl);
if (!response.ok) {
throw new Error(`Failed to load file! Response code: ${response.status}`);
}
const fileName = 'file.pdf'; // 下载文件名,也可以从响应头获取
const blob = await response.blob();
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = fileName;
link.click();
// 清理临时链接
setTimeout(() => URL.revokeObjectURL(link.href), 0);
} catch (error) {
console.error(error);
}
};
return (
<div>
<button onClick={downloadFile}>点击下载</button>
</div>
);
};
export default DownloadButton;
```
在这个例子中,当用户点击按钮时,会发起GET请求下载文件,并创建一个隐藏的`<a>`元素来模拟点击下载操作。
阅读全文