【发布时间】:2020-12-19 15:45:40
【问题描述】:
我需要一些帮助来解决一个问题。我尝试从服务器 Nodejs 下载客户端 ReactJs 上的文件。 我已经进入了我的 server.js :
router.route("/download/:filesaveas").get(function(req, res) {
const fileLocation = "public/files/" + req.params.filesaveas;
const file = req.params.filesaveas;
res.download(fileLocation, file, (err) => {
if (err) console.log(err);
});
当我尝试直接从服务器 http://localhost:4000/cww/download/testfile.pdf 下载时,下载正常,我没有任何错误并且文件没有损坏。
在我的客户端,我有一个函数 downloadFile,它由按钮“onclick”操作调用。
import download from 'downloadjs'
downloadFile = (filetodownload) => {
axios.get('http://localhost:4000/cww/download/'+filetodownload)
.then(res => {
var filename = "testfile.pdf"
download(res.data, scriptname, "text/plain");
});
}
当我点击按钮时。下载了一些东西,但文件似乎已损坏。无法打开...我想,服务器的响应数据有问题。 通过执行 console.log(res.data),我可以看到我的内容 PDF 的一部分,但有些奇怪 字符(如编码),但无法下载正确的文件。
感谢您的帮助。
【问题讨论】:
标签: node.js reactjs download mern