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

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代理)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容