繁体   English   中英

如何将文件发送到接受pythonflask中表单数据的post方法,以及如何在被调用的方法中检索文件和其他字段?

[英]How to send a file to post method that accepts form data in python flask, and also how to retrieve file and other fields in the called method?

我正在尝试这样的事情。

来电显示 -

files = {'file': open(file_name, 'rb').read()}
        response = requests.post(url, headers=headers, data=metadata, files=files)

调用方法代码-

        metadata = {}
        for key, value in request.form.items():
            metadata[key] = value
        print(metadata)
        print(type(metadata))
        print("Request data")
        print(request.data)
        print("Files")
        print(request.files)
        print(request.files is None)
        print('file' not in request.files)

被调用方法的输出为空

{}
<class 'dict'>
Request data
b''
Files
ImmutableMultiDict([])
False
True

有人可以告诉我如何解决这个问题吗?

files = {'upload_file': open('file.txt','rb')}
values = {'DB': 'photcat', 'OUT': 'csv', 'SHORT': 'short'}

r = requests.post(url, files=files, data=values)

from flask import Flask, render_template, request, redirect, url_for

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/', methods=['POST'])
def upload_file():
    uploaded_file = request.files['file']
    if uploaded_file.filename != '':
        uploaded_file.save(uploaded_file.filename)
    return redirect(url_for('index'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM