1

大家好,

这是我第一次来这里。我一直有关于 flask_upload 上传文件的问题。我不确定flask_upload 哪里出了问题。因此,每次我试图上传文件时,它都会在标题中抛出错误

(** storage must be a werkzeug.FileStorage)

在此处输入图像描述**)

我附上了我的应用程序工厂的图片,以及配置文件和 html 文件。任何帮助将不胜感激。因为我不确定我哪里出错了

        
            {% block content %}
                <h1>upload files</h1>
                <form action="{{ url_for('rep.upload') }}" method="post",enctype="multipart/form-data">
                    {{ form.hidden_tag() }}
                    <p>
                        {{ form.report_title.label }}<br>
                        {{ form.report_title(size=32) }}<br>
                        {% for error in form.report_title.errors %}
                        <span style="color: red;">[{{ error }}]</span>
                        {% endfor %}
                    </p>
                    <p>
                        {{ form.report_description.label }}<br>
                        {{ form.report_description(size=64) }}<br>
                        {% for error in form.report_description.errors %}
                        <span style="color: red;">[{{ error }}]</span>
                        {% endfor %}
        
                    </p>
                    <p>
                        {{ form.report_file.name }}<br>
                        {{ form.report_file}}<br>
                        {% for error in form.report_file.errors %}
                        <span style="color: red;">[{{ error }}]</span>
                        {% endfor %}
        
                    </p>
                    <p>{{ form.submit() }}</p>
        
                    </form>
            {% endblock %}
        
        
enter code here (Report Blueprint) @rep.route("/add",methods=['GET','POST']) @login_required @roles_requried("patient") def upload(): form = AddReportForm() if form.validate_on_submit(): print(request.files.get('report_file')) filename = images.save(request.files.get('report_file'),name="Hello",folder="static/img",) url = images.url(filename) data = {"report_title":form.report_title.data,"report_description":form.report_description.data, "report_filename":filename,"report_url":url} print(data) new_report = Report(**data) new_report.save() flash( 'New report, {}, added!'.format(new_report.report_title), 'success') return redirect(url_for('user.profile')) return render_template(template_name_or_list='user/add_report.html',form=form) enter code here [config.py] UPLOADS_DEFAULT_DEST = '/static/img/' UPLOADS_DEFAULT_URL = 'http://localhost:5000/img/' UPLOADED_IMAGES_DEST = '/static/img/' UPLOADED_IMAGES_URL = 'http://localhost:5000/img/' enter code here (extensions) images = UploadSet('images',IMAGES) enter code here (Application Factory) app = Flask(__name__, instance_relative_config=False) app.config.from_object(config_settings) handler = RotatingFileHandler(app.config.get('LOGGING_LOCATION'), maxBytes=10240,backupCount=10 ) handler.setLevel(app.config.get('LOGGING_LEVEL')) formatter = handler.setFormatter(app.config.get('LOGGING_FORMAT')) handler.setFormatter(formatter) patch_request_class(app, 32 * 1024 * 1024 ) app.register_blueprint(user) app.register_blueprint(doc) app.register_blueprint(adm) app.register_blueprint(rep) configure_uploads(app, images) app.logger.addHandler(handler) error(app) extensions(app)
4

0 回答 0