1. 程式人生 > >接收上傳檔案

接收上傳檔案

使用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請求時獲取上傳的檔案並儲存在當前目錄下