作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经使用 filepond 在 React 上上传文件:
<FilePond files={this.state.files} allowMultiple={true} server="http://localhost:5000/api/upload" onupdatefiles={(fileItems) => { this.setState({ files: fileItems.map(fileItem => fileItem.file) }); this.handleFileMetadata(); }} />
现在我正在使用 express 处理文件上传
router.post('/upload', (req, res) => {
// logic to store file on mongodb
})
要删除上传的临时文件,filepond 会向上述服务器发送 DELETE 请求
所以我用
router.delete('/upload', (req, res) => {
})
但是我无法从mongodb中删除文件,如何删除没有任何属性的文件?
最佳答案
要删除MongoDB中的文件记录,需要声明需要删除的是哪条文件记录。无论如何,MongoDB 不会自动知道您的意图。
声明文件记录有几种方式:
POST/upload
路由中,将插入的文件记录id 返回给前端(例如5b88a6b213d0613d198d7ecf
)。然后,在下面的 DELETE/upload/:recordId
请求中,前端会将插入的文件记录 id 传递给后端,例如删除/上传/5b88a6b213d0613d198d7ecf
。接下来,Node.js代码可以提取出待删除的文件id,并在MongoDB中进行相应的操作。POST/upload
路由器,在 session 中存储 latestFileId
并在下一个 DELETE/upload
请求中检索 latestFileId
session 值.POST/upload
路由器中,使用 Set-Cookie
将 latestFileId
发送到浏览器并检索 latestFileId
cookie 值下一个 DELETE/upload
请求。关于node.js - 如何删除filepond上的临时上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55970903/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!