2016-01-24 69 views
0

我使用燒瓶來開發webapp,並且我有兩個不同的文件可以上傳到兩個不同的位置,並且只要我通過互聯網搜索,我只能找到解釋來上傳一個或多個在一起在一個文件字段中,它工作正常。在兩個不同的字段中上傳兩個不同的文件

enter image description here

這裏是我用來上傳一個文件的代碼:

app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER 

def allowed_file(filename): 
    return '.' in filename and \ 
      filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS 

@app.route("/", methods=['GET', 'POST']) 
def index(): 
    if request.method == 'POST': 
     file = request.files['file'] 
     if file > 0: 
      filename = secure_filename(file.filename) 
      file.save(os.path.join(UPLOAD_FOLDER , filename)) 
      return redirect(url_for('index')) 

有人可以幫助我與

回答

1

輸入的名稱將是您檢索關鍵request.files

html:

<input type="file" name="first_file" /> 
<input type="file" name="second_file" /> 

瓶:

@app.route("/", methods=['GET', 'POST']) 
def index(): 
    if request.method == 'POST': 
     first_file = request.files['first_file'] 
     second_file = request.files['second_file'] 
     ... # do stuff with files 

Documentation.

+0

我做你的建議,但它不工作:)。 – muteb

0

這裏是整個代碼:

import os 
from flask import Flask, request, redirect, url_for 
from werkzeug import secure_filename 
import sys 
sys.path.insert(0, '/home/muteb/Desktop/test') 

UPLOAD_FOLDER = '/home/muteb/Desktop/test/' 


app = Flask(__name__) 
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER 


@app.route("/", methods=['GET', 'POST']) 
def index(): 
    if request.method == 'POST': 
     file1 = request.files['file1'] 
     file2 = request.files['file2'] 
     if file1 > 0: 
      filename1 = secure_filename(file1.filename) 
      file1.save(os.path.join(UPLOAD_FOLDER , filename1)) 
     if file2 > 0: 
      filename2 = secure_filename(file2.filename) 
      file2.save(os.path.join(UPLOAD_FOLDER , filename2)) 
      return redirect(url_for('index')) 
    return """ 
    <!doctype html> 
    <title>Upload new File</title> 
    <h1>Upload new File</h1> 
    <form action="" method=post enctype=multipart/form-data> 
     <p><input type=file name=file1> 
      <input type=file name=file2> 
     <input type=submit value=Upload> 
    </form> 
    <p>%s</p> 
    """ % "<br>".join(os.listdir(app.config['UPLOAD_FOLDER'],)) 

if __name__ == "__main__": 
    app.run(host='0.0.0.0', port=5002, debug=True) 
+0

這實際上適用於我,但我有一些安裝配置問題。謝謝 – muteb

相關問題