【问题标题】:Python Flask Uploading imagePython Flask 上传图片
【发布时间】:2015-07-09 18:39:14
【问题描述】:

我正在尝试将图像上传到系统上的文件夹并为其提供唯一标识符。这样每个成员都可以拥有自己的个人资料图像。我在分配 id 时遇到了麻烦,不确定我是否正确地处理了这个问题。另外,将图像放在 SQLalchemy 数据库中还是只放在一个文件夹中会更好吗?

@main.route("/upload", methods=['GET', 'POST'])
@login_required
def upload():
    if request.method == 'POST':
        file = request.files['file']
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            rec = file(filename=filename, user=g.user.id)
            rec.store()
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            return redirect(url_for('.home'))
    return """
    <!doctype html>
    <title>Upload new File</title>
    <h1>Upload new File</h1>
    <form action="" method=post enctype=multipart/form-data>
      <p><input type=file name=file>
         <input type=submit value=Upload>
    </form>
    <p>%s</p>
    """ % "<br>".join(os.listdir(app.config['UPLOAD_FOLDER'],))

我的错误: 上传中的文件“/home/ed/Development/Python/social/app/main/views.py”,第 253 行 rec = 文件(文件名=文件名,用户=g.user.id) TypeError: 'FileStorage' 对象不可调用

【问题讨论】:

    标签: python flask sqlalchemy


    【解决方案1】:

    写入文件的正确方法是:

    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'], actual_filename))
    

    要使用它,您的配置中应该有一个UPLOAD_FOLDER

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 2020-12-19
      • 2015-05-13
      • 2018-06-13
      • 2017-12-09
      • 1970-01-01
      • 2019-05-13
      • 2020-12-30
      • 2021-11-15
      相关资源
      最近更新 更多