我正在使用ajax jquery将图像发送到nodejs服务器。但是我很难从客户端接收nodejs服务器中的图像。
客户代码:
jQuery.noConflict();
formdata = new FormData();
jQuery("#afile").on("change", function() {
var file = this.files[0];
if (formdata) {
formdata.append("image", file);
jQuery.ajax({
url: "http://130.211.245.190:8080",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success:function(){}
});
}
});
任何人都可以帮我在服务器上接收图像。提前谢谢。
答案 0 :(得分:0)
我认为"这"应该被包装" $()" ... 你可以尝试一下......
jQuery.noConflict();
formdata = new FormData();
jQuery("#afile").on("change", function() {
var file = $(this).files[0];
if (formdata) {
formdata.append("image", file);
jQuery.ajax({
url: "http://130.211.245.190:8080",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success:function(){}
});
}
});
答案 1 :(得分:0)
要在节点中接收multipart / form-data,您可以使用以下任何包
如果您正在使用express,那么您可能正在使用正文解析器,但由于其复杂性,此程序包无法处理multipart / form-data。
这是取自multer docs的样本
var upload = multer({ dest: 'uploads/' });
app.post('/profile', upload.single('avatar'), function (req, res, next) {
// req.file is the `avatar` file
// req.body will hold the text fields, if there were any
})
您可以为上传的文件及其信息(如文件名大小和目标)查找req.file或req.files。如果请求包含任何文本字段,req.body也将包含任何文本字段。
如果您使用普通节点,您可以尝试其他节点,看看它们是否符合您的需求。它们通常允许更多控制,但配置起来更加困难。