【问题标题】:PermissionError: [Errno 13] Permission denied: when uploading a file using Python and FlaskPermissionError:[Errno 13] 权限被拒绝:使用 Python 和 Flask 上传文件时
【发布时间】:2021-09-05 16:32:51
【问题描述】:

我是 python 和烧瓶框架的新手。我创建了一个简单的网页来使用当前工作目录中的烧瓶上传文件。但是当我尝试上传文件时,它会抛出 PermissionError: [Errno 13] Permission denied。我正在使用以下代码:


from flask import Flask, render_template, send_file, request, flash, redirect
from werkzeug.utils import secure_filename
import pathlib
import os

app = Flask(__name__)
app.secret_key = 'secret'

ALLOWED_EXTENSION = {'csv'}


@app.route("/")
def get_index():
    return render_template('index.html')



@app.route("/upload-holidays", methods=['GET', 'POST'])
def upload_holidays():

    if request.method == "POST":
        if request.files:
            current_dir = pathlib.Path().absolute()
            file = request.files["file"]
            file.save(current_dir, file.filename)

            return redirect(request.url)

    return render_template('uploadholiday.html')


if __name__ == "__main__":
    app.run(debug=True)

当我尝试上传文件时,出现以下错误: 文件“C:\Users\aakas\Downloads\CalendarApp\app.py”,第 38 行,在 upload_holidays file.save(current_dir, file.filename) 文件“C:\Users\aakas\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\werkzeug\datastructures.py”,第 3066 行,保存 dst = 打开(dst,“wb”) PermissionError: [Errno 13] Permission denied: 'C:\Users\aakas\Downloads\CalendarApp'

我使用的是 Windows 10 和 Pycharm 社区版。

请帮忙。 谢谢。

【问题讨论】:

  • 我不确定,但如果您尝试上传的文件当前在其他应用程序中打开,则可能会出现问题。
  • 以管理员身份运行 app.py。以管理员身份打开 cmd 并导航到您的项目目录并运行 app.py。

标签: python-3.x flask


【解决方案1】:

问题已解决。

  1. 使用 app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER 设置上传文件夹
  2. 完全按照以下示例进行操作。 https://flask.palletsprojects.com/en/2.0.x/patterns/fileuploads/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 2015-07-17
    • 2016-07-25
    • 2018-11-18
    • 1970-01-01
    • 2020-07-01
    • 2016-11-12
    相关资源
    最近更新 更多