我有express js作为后端,react js作为前端,在某些 route 我必须发送一个文件来响应我已经这样做的请求:
return res.status(200).sendFile(path.resolve(`files/${product.fileName}`))
我遇到的问题是我应该如何在reactjs客户端中处理这个响应? 我记录了响应,正文是:
body : ReadableStream
locked : true
最佳答案
你能像这样使用express的发送实用程序吗?
var fs = require('fs-extra'); // import fs-extra package
var buffer = fs.readFileSync(req.query.filepath);
var bufferBase64 = new Buffer(buffer);
res.status(200).send(bufferBase64);
在React客户端中,您可以使用react-file-download包。
import fileDownload from 'react-file-download';
fileDownload(response.data, "profilepic.jpg"); //This will download the file in browser.
关于javascript - Express js在React客户端中发送文件并下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50518372/