如何解决节点-删除引用文件的字符串数组
在Angular中,我传递了一个字符串数组,其中包含对要删除的文件的引用:
let filesToDeleteOnCancel = ["file1.png","file2.png","file3.png"];
this.http.delete(this.apiDomain + '/api/gameCentre/deleteAssets',filesToDeleteOnCancel).subscribe((data: any) => {
console.log(data);
},error => {});
这似乎工作正常。但是我对如何通过此数组传入节点api感到困惑,因此可以删除文件。到目前为止,我有:
router.delete('/deleteAssets/',function(req,res) {
console.log("How can I get the array here?");
try {
var files = ['../game/src/file1.png','../game/src/file2.png','../game/src/file3.png'];
files.forEach(path => fs.existsSync(path) && fs.unlinkSync(path))
// success code here
} catch (err) {
// error handling here
console.error(err)
}
});
解决方法
将HTTP方法更改为POST
,然后通过body
发送。您可以作为req.body
访问正文。您可能还需要使用Node.js body parsing middleware。
let filesToDeleteOnCancel = ['../game/src/file1.png','../game/src/file2.png','../game/src/file3.png'];
this.http.post(this.apiDomain + '/api/gameCentre/deleteAssets',filesToDeleteOnCancel).subscribe((data) => {
console.log(data);
},error => { });
router.post('/deleteAssets/',function (req,res) {
console.log("How can I get the array here?");
try {
var files = req.body;
files.forEach(path => fs.existsSync(path) && fs.unlinkSync(path))
// success code here
} catch (err) {
// error handling here
console.error(err)
}
});
,
您可以如下访问请求正文:
var files = req.body;
如果输出为空,请不要忘记body-parser。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。