美文网首页
接口上传大文件超默认大小响应500消息体未返回问题

接口上传大文件超默认大小响应500消息体未返回问题

作者: 鱼豆腐爱好者协会会长 | 来源:发表于2019-05-21 11:45 被阅读0次

1、python接口测试代码:(上传大文件的代码)

with open('C:/xxxx/test.jpg', 'rb')as f:

fields = {'file': ('test.jpg', f)}

multipart = MultipartEncoder(fields)

monitor = MultipartEncoderMonitor(multipart, lambda m:print(m.bytes_read))

head = {'Content-Type': monitor.content_type, 'token':self.token}

r = requests.post(self.av_url, data=monitor, headers=head)

print(r.content)

self.assertEqual(False, r.text[-4:] =='.jpg', msg='请求失败')

2、python接口返回的报错信息:

Error

Traceback (most recent call last):

  File "C:\Python37\lib\site-packages\urllib3\response.py", line 601, in _update_chunk_length

    self.chunk_left = int(line, 16)

ValueError: invalid literal for int() with base 16: b''

3、服务日志信息:

文件大小超限制的响应:

Trace log is ====> {"url":null,"httpMethod":null,"reqParams":null,"respParams":"{\"code\":500,\"message\":\"base is busy\",\"data\":{}}","startTime":0,"spendTime":1558323818137}

文件大小未超的响应:

Trace log is ====> {"url":"/app/member/avatar","httpMethod":"POST","reqParams":null,"respParams":"\"http://192.168.31.115/uploads/image/20190520115835632043.jpg\"","startTime":1558324715830,"spendTime":400}

4、nginx的报错信息:

readv() failed (104: Connection reset by peer) while reading upstream

5、解决办法:

在nginx的配置文件中加上如下配置:

proxy_http_version 1.1;(nginx默认是http1.0代理)

相关文章

网友评论

      本文标题:接口上传大文件超默认大小响应500消息体未返回问题

      本文链接:https://www.haomeiwen.com/subject/dppdzqtx.html