服务器下载文件"/>
React和Axios从Node JS服务器下载文件
我正在尝试从Node JS和Express服务器下载React中的文件。在服务器中,我创建了一个端点,该端点在浏览器中导航至时会显示下载弹出窗口。
router.get("/getfile", (req, res) => {
res.download("public/FILE.pdf");
});
但是如何使用React和Axios触发此浏览器弹出窗口以将文件保存在用户自己的文件系统中?
donwloadFile = () => {
axios.get("localhost:3030/getfile").then(function (response) {});
};
回答如下:发送文件之前,您必须先放入content type header
。
index.js
router.get('/caderno1', (req, res) => {
res.contentType("application/pdf");
res.status(200).sendFile(__dirname + '/cadernos/CADERNO1.pdf');
});
[实现此功能时,我使用了方法sendFile
。我不知道它是否适用于res.download
。
这是我的简化文件树结构:
├── cadernos
| ├── caderno1.pdf
| └── caderno2.pdf
├── _server
| └── index.js
├── app.js
└── package.json
更多推荐
React和Axios从Node JS服务器下载文件
发布评论