Flask 文件上传 - 仅获取部分文件

Job*_*ews 8 python flask

我正在尝试将 60 mb 的 CSV 文件上传到我的应用程序。但是当我将文件保存到服务器时,它只包含原始记录的部分(25 mb)。此问题仅随机发生。

@fileupload.route('/loadfile',methods = ['POST'])
def store_to_db():
for _file in request.files.getlist('filelist'):
        name, ext = FileUtil.get_filename_without_ext(_file.filename)#fetching file name and extension
        fd, path = tempfile.mkstemp(suffix=ext, prefix=name)#saving file as temp
        os.write(fd, _file.read())
        try:
            file_upload_service.savefiletodb(path)
        except Exception as e:
            logger.info(str(e))
        os.close(fd)
Run Code Online (Sandbox Code Playgroud)

上传端代码:

    data= {}
    url_path = 'localhost:5000/loadfile'
    data['filelist']=open('employe.txt', 'rb')
    resp = requests.post(url=url_path, files=data)
Run Code Online (Sandbox Code Playgroud)

知道为什么它的行为是这样吗?

笔记:

  • 当我通过邮递员上传时,我没有遇到任何问题。

  • 如果我通过代码上传,有时我会得到部分文件。

  • 日志中的文件对象,当通过邮递员上传时

    'employee.TXT' ('text/plain')>

  • 日志中的文件对象,当通过代码上传时

    'employee.TXT'('无')>

M_x*_*M_x 1

  1. 尝试在这里设置app.config['MAX_CONTENT_LENGTH']

  2. 尝试设置标题,就像return Response(mimetype='text/plain')这里是相同的参考

  3. 尝试这个教程