发送文件时 404 Not Found on express route
404 Not Found on express route when sending files
我很难修复这个 404 Not found 错误,所以我在不使用表单的情况下使用 FormData api 将文件发送到我的快速服务器。每当我在有效负载中触发带有文件的请求时,我都会得到 404 (Not Found) SyntaxError: Unexpected token < in JSON at position 0
但如果我在不发送任何文件的情况下触发请求,它会正确地给我响应.. 任何人都可以帮忙吗?
控制器
update: (req, res) => {
console.log(req.files)
res.json({
status: 'test',
code: 200
})
}
路线
router.post('/update', account.update);
我的要求
saveUpdate = () => {
const formData = new FormData();
const { user, Auth } = this.props;
formData.append('user_id', user.id);
formData.append('photo', this.photo_ref.files[0]);
formData.append('cover', this.cover_ref.files[0]);
Auth.fetch('/update', {
method: "POST",
credentials: 'same-origin',
body: formData,
})
.then(res => {
if(res.code === 200){
console.log(res)
}
})
.catch(err => console.log(err));
}
devtools 为我提供了关于我的请求的正确信息,如果我发送带有文件的请求,它会正确显示有效载荷,内容类型也是正确的,即 multipart/form-data 但它仍然给我上述错误。如果我不发送任何文件,我会得到正确的服务器响应吗?
我正在使用 multer 包
按照这个顺序
server.use(express.static(path.resolve(__dirname, '../public')));
server.use(multer({storage}).array('image', 12));
server.use(bodyParser.urlencoded({ extended: false }));
server.use(bodyParser.json());
server.use('/', router);
您似乎没有正确提供名称参数。
您可以将这两张图片附加同名
而不是这个
formData.append('photo', this.photo_ref.files[0]);
formData.append('cover', this.cover_ref.files[0]);
你可以做到
formData.append('image', this.photo_ref.files[0]);
formData.append('image', this.cover_ref.files[0]);
我很难修复这个 404 Not found 错误,所以我在不使用表单的情况下使用 FormData api 将文件发送到我的快速服务器。每当我在有效负载中触发带有文件的请求时,我都会得到 404 (Not Found) SyntaxError: Unexpected token < in JSON at position 0
但如果我在不发送任何文件的情况下触发请求,它会正确地给我响应.. 任何人都可以帮忙吗?
控制器
update: (req, res) => {
console.log(req.files)
res.json({
status: 'test',
code: 200
})
}
路线
router.post('/update', account.update);
我的要求
saveUpdate = () => {
const formData = new FormData();
const { user, Auth } = this.props;
formData.append('user_id', user.id);
formData.append('photo', this.photo_ref.files[0]);
formData.append('cover', this.cover_ref.files[0]);
Auth.fetch('/update', {
method: "POST",
credentials: 'same-origin',
body: formData,
})
.then(res => {
if(res.code === 200){
console.log(res)
}
})
.catch(err => console.log(err));
}
devtools 为我提供了关于我的请求的正确信息,如果我发送带有文件的请求,它会正确显示有效载荷,内容类型也是正确的,即 multipart/form-data 但它仍然给我上述错误。如果我不发送任何文件,我会得到正确的服务器响应吗?
我正在使用 multer 包 按照这个顺序
server.use(express.static(path.resolve(__dirname, '../public')));
server.use(multer({storage}).array('image', 12));
server.use(bodyParser.urlencoded({ extended: false }));
server.use(bodyParser.json());
server.use('/', router);
您似乎没有正确提供名称参数。 您可以将这两张图片附加同名
而不是这个
formData.append('photo', this.photo_ref.files[0]);
formData.append('cover', this.cover_ref.files[0]);
你可以做到
formData.append('image', this.photo_ref.files[0]);
formData.append('image', this.cover_ref.files[0]);