【发布时间】:2021-01-05 20:01:31
【问题描述】:
我有这个表单元素:
<form action="/upload" method="POST">
<input type="file" id="img" name="image" accept="image/*" class="btn"/>
<button type="submit" class="btn">Upload</button>
</form>
当我提交表单时,post 请求正在通过 body-parser 获取图像的文件名。
app.post("/upload", (req, res) => {
console.log(req.body.image);
const filename = req.body.image;
async function uploadFile() {
await storage.bucket(bucketName).upload(filename)
}
uploadFile().catch(console.error);
res.redirect("/upload");
});
console.log 只返回文件名image.jpg,不带路径。当调用uploadFile() 方法时,它返回一个错误,说文件路径不存在,因为它说文件路径是:C:\\Users\Owner\Desktop\Serverfolder\image.jpg 这是完全错误的。
那么,我该如何添加谷歌云接受的正确文件路径呢?我知道浏览器会保护文件上传的实际文件路径,但它不会填写临时或假路径以便上传图片。
请帮忙,因为谷歌云文档在这件事上含糊不清……
【问题讨论】:
标签: node.js file-upload google-cloud-storage ejs filepath