马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题:前端需要上传500kb的base64编码,但是后端一直接收不到
报错:{message: 'request entity too large', expected: 319457, length: 319457, limit: 102400, type: 'entity.too.large'}
已经写了这两句,limit还是不变app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
前端的请求是 // dataURL为500kb的图片编码
var urlstr = "base64=" + dataURL
$.ajax({
type: "POST",
url: BASE_REQ_URL + "/my/updateuserhead64",
data: urlstr,
dataType: "json",
processData: false, // 不知道这两句要不要加
contentType: "application/json;", // 不知道这两句要不要加
headers: {
'Authorization': localStorage.getItem('Authorization')
},
error: function(data) {
console.log('连接失败');
},
success: function(data, textStatus, Status) {
console.log(data);
if (data.status === 0) {} else {}
}
})
后端是这样写的const express = require('express')
const cors = require('cors')
const bodyParser = require('body-parser')
const app = express()
app.use(cors())
app.use(express.urlencoded({ extended: false }))
app.use('/upload', express.static('./upload')) // 托管静态资源文件
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
app.post('/my/updateuserhead64', function(req, res) {
console.log(req.body) // 这里的输入一直为{}
})
要么报错 'request entity too large',要么req.body为{},不知道怎么回事
然后在浏览器看到的请求负载是有数据的,但是后端一直看不到,呜呜呜
你Content-Type写的是"application/json" 但是传的不是json所以不行
我推荐用的是原生fetch而不是原生xhr xhr比jq海南用
fetch('https://example.com/', {
method: 'POST',
body: JSON.stringify({base64:'xxxxxxx'}),
headers:new Headers({'Content-Type': 'application/json'})
})
;
|