繁体   English   中英

上传图像瓶错误

[英]upload image flask error

我正在按照Flask教程进行图像上传。 我还决定对其进行一些修改,以便添加其他功能。 该网站在本地加载,但是当我实际单击上传按钮(选择.png图像后)时,出现以下错误:

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

我已经在此处阅读了有关添加else语句的信息: 表单发送错误,烧瓶,但是我不确定如何适应我的需要。 这是我的代码:

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()

您的html代码中有一个错字:

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

multipart和不multpart

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM