javascript - 使用 XmlHttpRequest 发送文件并在 express/multer 中接收
问题描述
我有以下代码:
客户端:
var fileInput = document.getElementById('img-edit');
var file = fileInput.files[0];
console.log(file)
var formElement = document.getElementById("edit-team-form")
var formData = new FormData(formElement)
formData.append('sphoto', file);
var request = new XMLHttpRequest();
request.open("POST", "http://localhost:3030/edit-team?id=57");
request.send(formData);
服务器端:
app.post("/edit-team?:id", urlencodedParser , upload.single("sphoto"), (req, res) => {
var editedTeam = req.body
console.log(req.files)
console.log(editedTeam)
})
我想做的是发送一个照片文件并在我的快递应用程序中接收它。
当我做一个console.log
我var file
得到的信息。但我也收到了一个500 (Internal Server Error)
帖子请求。
此外,在我的应用程序控制台中,我收到以下错误:
MulterError: Unexpected field
at wrappedFileFilter (C:\Users\juanc\Desktop\Crud-intento2\node_modules\multer\index.js:40:19)
at Busboy.<anonymous> (C:\Users\juanc\Desktop\Crud-intento2\node_modules\multer\lib\make-middleware.js:114:7)
at Busboy.emit (events.js:315:20)
at Busboy.emit (C:\Users\juanc\DesktopCrud-intento2\node_modules\busboy\lib\main.js:38:33)
at PartStream.<anonymous> (C:\Users\juanc\Desktop\Crud-intento2\node_modules\busboy\lib\types\multipart.js:213:13)
at PartStream.emit (events.js:315:20)
at HeaderParser.<anonymous> (C:\Users\juanc\Desktop\Crud-intento2\node_modules\dicer\lib\Dicer.js:51:16)
at HeaderParser.emit (events.js:315:20)
at HeaderParser._finish (C:\Users\juanc\Desktop\Crud-intento2\node_modules\dicer\lib\HeaderParser.js:68:8)
at SBMH.<anonymous> (C:\Users\juanc\Desktop\Crud-intento2\node_modules\dicer\lib\HeaderParser.js:40:12)
编辑:
const multer = require ("multer")
const upload = multer({dest: './uploads/imagenes'})
const bodyParser = require("body-parser")
var urlencodedParser = bodyParser.urlencoded({ extended: false })
在我存储文件的文件夹中,创建了一些文件
解决方案
推荐阅读
- vba - VBA 'set typelib = createobject(“scriptlet.typelib”)' 权限被拒绝 - 同样的问题,新的原因?
- python - 使用组框将焦点设置在应用程序中的按钮上
- java - 即使 sql 查询不应该返回任何记录,JUnit 测试仍然通过
- arcore - Arcore:如何获得放置在表面上的图像的尺寸?
- python - DLIB:ImportError:/usr/local/cuda/lib64/libcudnn.so.7:文件太短
- ssl - SSL Labs:错误的顺序,额外的证书
- mysql - MySQL 查询需要更多时间来获取数据 [MySQL]
- delphi - Delphi 发送带有 TIdHttp 和特殊字符的 POST
- kubernetes - 可以在 GKE 上使用 Google Cloud IAM 设置命名空间级别权限吗?
- android - 无法使用 ScrollView 滚动线性布局