2015-05-07 22 views
0

我正在关注Flask教程以进行图片上传。我还决定修改一下,以便我可以添加其他功能。该网站加载本地,但是当我上传按钮实际点击(选择PNG图片)之后,我收到以下错误:上传图片烧瓶错误

Bad Request. The browser (or proxy) sent a request that this server could not understand. 

我读过一些关于这里添加一个else语句: Form sending error, Flask 但我不确定如何满足我的需求。 这里是我的代码:

from flask import Flask, request, session, g, redirect, url_for, \ 
    abort, render_template, flash 

from werkzeug import secure_filename 

import os 

DEBUG = True 
SECRET_KEY = 'development key' 
USERNAME = 'admin' 
PASSWORD = 'default' 

#Add parameters for image uploads: 
UPLOAD_FOLDER = '/upload_folder/' 
ALLOWED_EXTENSIONS = set(['png','jpg','jpeg']) 


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


#@app.route('/') 
#@app.route('/<name>') 


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

@app.route('/',methods=['GET','POST']) 
def upload_file(): 
    if request.method == 'POST': 
    file = request.files['file'] 
    if file and allowed_file(file.filename): 
     filename = secure_filename(file.filename) 
     file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename)) 
     return redirect(url_for('uploaded_file',filename=filename)) 

    return ''' 
    <!doctype html> 
    <title>Upload new File</title> 
    <h1>UPload new File</h1> 
    <form action="" method=post enctype=multpart/form-data> 
    <p><input type=file name=file> 
     <input type=submit value=Upload> 
    </form> 
    ''' 

#Handle errors: 
@app.errorhandler(404) 
def page_not_found(error): 
    return render_template('page_not_found.html'),404 

#render template: 
def flaskr(name=None): 
    return render_template('hello.html',name=name) 


#Handle errors: 
@app.errorhandler(404) 
def page_not_found(error): 
    return render_template('page_not_found.html'),404 



if __name__ == '__main__': 
    app.run() 

回答

3

没有在HTML代码中一个错字:

<form action="" method=post enctype=multpart/form-data> 

multipart,而不是multpart