flask upload file

来源:互联网 发布:山东税务软件下载 编辑:程序博客网 时间:2024/05/19 13:16
import osfrom PIL import Imagefrom flask import Flask, request, redirect, url_forfrom werkzeug import secure_filenamefrom flaskext.uploads import (UploadSet, configure_uploads, IMAGES,                              UploadNotAllowed)app = Flask(__name__)app.config['UPLOADED_PHOTOS_DEST'] = '/tmp/testuploadext'app.config['UPLOADED_APPLES_DEST'] = '/tmp/testuploadext2'photos = UploadSet('photos', IMAGES)configure_uploads(app, photos)apples = UploadSet('apples', IMAGES)configure_uploads(app, apples)@app.route('/', methods=['GET', 'POST'])def upload_file():    if request.method == 'POST' and 'photo' in request.files:        filename = photos.save(request.files['photo'])        return redirect(url_for('upload_file', filename=filename))    return '''    <!doctype html>    <title>Upload New File</title>    <h1>Upload New File</h1>    <form enctype='multipart/form-data' action='' method='POST'>        <input type='file' name='photo'/>        <input type='submit' value='Upload'/>    </form>    '''@app.route('/apple', methods=['GET', 'POST'])def upload_file_apple():    if request.method == 'POST' and 'apple' in request.files:        filename = apples.save(request.files['apple'])        return redirect(url_for('upload_file_apple', filename=filename))    return '''    <!doctype html>    <title>Upload New File Apples</title>    <h1>Upload New File Apples</h1>    <form enctype='multipart/form-data' action='' method='POST'>        <input type='file' name='apple'/>        <input type='submit' value='Upload'/>    </form>    '''with app.test_client() as c:    resp = c.get('/')    assert '<title>Upload New File</title>' in resp.data    apple='/media/Share/Pics/fucking-brilliant.jpeg'    img = Image.open(apple)    resp = c.post('/', data=dict(        photo='/media/Share/Pics/fucking-brilliant.jpeg'    ), follow_redirects=True)    # How to test file uploading?    #assert 'photo' in request.files

0 0