【问题标题】:http: error: ConnectionError: ('Connection aborted.', error(32, 'Broken pipe')) while doing POST request to URL:http: error: ConnectionError: ('Connection aborted.', error(32, 'Broken pipe')) 在对 URL 进行 POST 请求时:
【发布时间】:2017-05-13 13:18:18
【问题描述】:

我使用 Falcon 实现了一个 API,它使用 multipart/form 将文件上传到我的服务器。当文件很小 (~1MB) 时,POST 请求可以正常工作。但是当文件很大(~20MB)时,POST 失败并出现以下错误。

关于如何解决此问题的任何反馈?

错误:

http: error: ConnectionError: ('Connection aborted.', error(32, 'Broken pipe')) 在对 URL 进行 POST 请求时: http://...:49160/api/upload

这是我的请求命令行: 使用httpie:

http -f POST http://111.111.111.111:49160/api/upload filename=video.mp4 file@/home/chacon/video.mp4

这是我的 on_post 函数:

def on_post(self, req, resp):


    in_file       = req.get_param('file')

    in_video_name = in_file.filename

    source_video_path = os.path.join("/tmp", in_video_name)



    #working, but fails for large files

    with open(source_video_path, 'wb') as source_video_file:

        source_video_file.write(in_file.file.read())

谢谢,

卡洛斯

【问题讨论】:

  • 我遇到了类似的问题,如果有人在这里有任何提示,我会很高兴。我的猜测是服务器正在关闭连接(可能是因为请求超时)但我不太确定
  • 嗨@jamesatha 这是gunicorn worker超时的问题。当您启动 gunicorn 时,您可以将超时指定为参数以使其更长,并为文件提供足够的时间完成上传。

标签: python http multipartform-data falconframework


【解决方案1】:

这是 gunicorn worker 超时的问题。当您启动 gunicorn 时,您可以将超时指定为参数以使其更长,并为文件提供足够的时间完成上传

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多