gpt4 book ai didi

jquery - 快速解析 req.body 中的 multipart/form-data post

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:46 26 4
gpt4 key购买 nike

我正在尝试使用 Chrome 和 Firefox 浏览器上的 jQuery Ajax + FormData 对象上传文件。我用来执行此操作的代码如下:

var formData = new FormData();
formData.append('image', $scope.image.data);

$.ajax({
url: '/wines/'+id+'/image',
type: 'POST',
data: formData,
processData:false,
contentType:false
}).done(function(){
$location.path('/');
});

通过查看开发人员工具,我可以看到请求的格式正确,但是 Express 正在识别 req.body 中的内容而不是 req.files 中的内容。这是请求负载图像:

Request payload

快速配置:

app.configure(function(){
app.set('views', __dirname + '/app');
app.engine('.html', require('ejs').renderFile)
app.use(express.static(__dirname + '/app'));
app.use(express.bodyParser());
app.use(express.methodOverride());

app.use(app.router);
});

我做错了什么?非常感谢。

最佳答案

因为它不是一个文件,它只是一个字符串。要使用 FormData AJAX 文件,您必须将 File 对象传递给 FormData.append,您传递的是一个数据 uri,它只是一个字符串。

multipart/form-data 正文中的文件看起来像这样

------WebKitFormBoundaryNBylbsEYlWSsq2lBContent-Disposition: form-data; name="image"; filename="999.jpg"Content-Type: image/jpegThe file content here------WebKitFormBoundaryNBylbsEYlWSsq2lB--

关于jquery - 快速解析 req.body 中的 multipart/form-data post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14887681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com