Multipart: Boundary not found multer文件上传报错

express + multer 作为node服务器上传文件时,会出现以下报错:

Multipart: Boundary not found

原因:

在 ajax 请求时,设置了请求头的Content-Type

$.ajax({
    url: '/upload/single',
    type: 'post',
    processData: false,
    contentType: 'multipart/form-data',// 设置文件上传类型
    data: formData,
    success: function (data) {
        console.log(data)
        $('#img').attr('src', data.path)
    }
})

如以上代码,设置了 Content-Type, multer 则不能识别请求,会报错

解决方法:

将contentType 设置成 false 即可,multer 服务器会自动识别添加 Content-Type

$.ajax({
    url: '/upload/single',
    type: 'post',
    processData: false,
    contentType: false,
    data: formData,
    success: function (data) {
        console.log(data)
        $('#img').attr('src', data.path)
    }
})

一些 demo 可供参考

express + multer 实现文件上传(一)-- 基本上传

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Postman调用Java API进行文件上传时,遇到"the request was rejected because no multipart boundary was found"错误,通常表示Postman发送的HTTP请求头中没有正确设置Multipart/form-data边界(multipart boundary),这是用来分隔不同部分(如请求体中的文本和二进制数据)的标准。 在Java中,特别是处理表单数据(包括文件上传)时,服务器期望接收到一个包含边界标识的Multipart请求。以下是一些可能的原因和解决步骤: 1. **检查请求配置**:确保在Postman的`Form Data`或者`File`选项下,已设置`Content-Type`为`multipart/form-data`。并且有一个有效的`Boundary`值,通常会自动生成或手动指定一个随机的字符串。 2. **设置边界**:在Postman中,点击`Headers`选项卡,在`Content-Type`字段的值旁边,应看到一个`Boundary`字段,确保它的值是存在的,并且格式正确(例如:`multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gWg`)。 3. **文件字段配置**:对于上传的文件,确保选择正确的文件,然后设置`key`(通常是文件名),并将`value`设置为文件路径。 4. **确认编码**:如果文件内容是UTF-8以外的编码,确保在Postman中选择了正确的字符编码。 5. **代码验证**:如果你在服务器端处理上传,检查处理POST请求的Java代码是否正确解析了multipart请求,包括边界、文件部分等。 相关问题-- 1. 什么是Multipart/form-data? 2. 如何在Java代码中处理multipart请求? 3. Postman如何设置HTTP请求头?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值