要获取上传文件的路径并传递给createReadStream函数,可以通过以下步骤实现:
以下是一个示例的后端代码(使用Node.js和Express框架):
const express = require('express');
const multer = require('multer'); // 用于处理文件上传的中间件
const fs = require('fs');
const app = express();
const upload = multer({ dest: 'uploads/' }); // 指定文件保存的目录
app.post('/upload', upload.single('file'), (req, res) => {
// req.file 包含上传的文件信息
const filePath = req.file.path; // 获取上传文件的临时路径
const targetPath = 'uploads/' + req.file.originalname; // 指定文件的目标路径
// 将文件从临时路径移动到目标路径
fs.rename(filePath, targetPath, (err) => {
if (err) {
console.error(err);
res.status(500).send('文件上传失败');
} else {
res.send(targetPath); // 将目标路径返回给前端
}
});
});
app.listen(3000, () => {
console.log('服务器已启动');
});
在上述示例中,我们使用了multer中间件来处理文件上传。通过调用upload.single('file'),我们指定了上传文件的字段名为'file',并将上传的文件保存到'uploads/'目录下。
当文件上传成功后,我们将其从临时路径移动到目标路径,并将目标路径返回给前端。
在前端代码中,你可以使用XMLHttpRequest或fetch API来发送文件并接收后端返回的文件路径。然后,将该文件路径作为参数传递给createReadStream函数。
请注意,上述示例仅为演示目的,实际应用中可能需要进行更多的错误处理和安全性考虑。
领取专属 10元无门槛券
手把手带您无忧上云