我正在使用React Filepond将图像上传到使用Multer的node.js服务器。上载正常,但是当我尝试在上载后立即撤消(删除)上载时,出现404错误。
<FilePond
ref={ref => (this.pond = ref)}
files={this.state.files}
allowMultiple={false}
maxFiles={1}
name="photo"
server={{ url: "http://localhost:8000/api/uploads/", revert: "http://localhost:8000/api/revert/" }}
oninit={() => this.handleInit()}
onupdatefiles={fileItems => {
// Set currently active file objects to this.state
this.setState({
files: fileItems.map(fileItem => fileItem.file)
});
}}
/>
这可能是因为找不到文件名。在事情的节点端,我像这样设置文件名:
const multerStorage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, "public/img");
},
filename: (req, file, cb) => {
const ext = file.mimetype.split("/")[1];
cb(null, `hero-${Date.now()}.${ext}`);
}
});
哪个给我:
hero-1564944240035
现在,当我尝试删除该名称时,我得到了404。如果尝试再次创建该名称,时间戳将有所不同。为了使删除生效,获取确切文件名的最佳方法是什么?