接收上傳檔案
阿新 • • 發佈:2019-01-02
使用Flask框架編寫上傳檔案的伺服器端也很簡單,它與處理get和post引數具有相似的地方,客戶端上傳的檔案相關資訊會被儲存在flask.request.files物件中,通過這個物件。可以獲取上傳的檔名和檔案物件,然後通過檔案物件的save方法將檔案儲存到指定的目錄中
演示一個檔案上傳的基本的例子:
import flask app=flask.Flask(__name__) @app.route('/upload',methods=['GET','POST']) def upload(): if flask.request.method=='GET': return flask.render_template('upload.html') else: file=flask.request.files['file'] if file: file.save(file.filename) return '上傳成功' if __name__=='__main__': app.run(debug='True')
其中在templates目錄中的upload.html檔案中寫下(上傳檔案頁面的程式碼):
<!DOCTYPE html> <html> <body> <h2><strong>請你選擇一個檔案上傳</strong></h2> <form method='post' enctype='multipart/form-data'> <input type='file' name='file'/> <input type='submit' value='上傳'/> </form> </body> </html>
程式碼說明:
其中只定義了一個檔案上傳的業務函式upload函式,同時接受get和post請求,get請求時返回上傳頁面,post請求時獲取上傳的檔案並儲存在當前目錄下