首页 > 解决方案 > 拒绝在新目录中创建文件的权限

问题描述

我正在使用烧瓶制作登录页面,每当用户第一次登录时,它都会创建一个带有他们的 ID 号的目录,这样我就可以保存他们上传到该路径的文件。在尝试将上传的文件保存到该新目录时,我收到错误“PermissionError: [Errno 13] Permission denied: 'c:\Users\Zachary\Documents\VSCode_Projects\monday_webapp\app\static\user_data\5'”

这是我在登录时创建目录的代码

str_id = str(current_user.get_id())
                absolute_path = os.path.abspath(__file__)
                if os.path.exists(os.path.join(os.path.dirname(absolute_path) + "\\static\\user_data", str_id)) == False:
                    os.mkdir(os.path.join(os.path.dirname(absolute_path) + "\\static\\user_data", str_id), mode=0o777)
                    os.chmod(os.path.join(os.path.dirname(absolute_path) + "\\static\\user_data", str_id), stat.S_IWRITE)

这是我尝试保存文件的地方

filepath = os.path.join(app.config['FILE_UPLOADS'], uploaded_file.filename)
            str_id = str(current_user.get_id())
            absolute_path = os.path.abspath(__file__)
            if User.is_authenticated:
                os.chmod(os.path.join(os.path.dirname(absolute_path) + "\\static\\user_data", str_id), stat.S_IWRITE)
                uploaded_file.save(os.path.join(os.path.dirname(absolute_path) + "\\static\\user_data\\", str_id), uploaded_file.filename)
            else:
                uploaded_file.save(filepath)

如果用户未登录,它会按预期上传文件并将其保存到不同的目录。但是,当用户登录时尝试将其保存到他们的目录,会导致权限错误。在 user_data 中执行 dir 在模式下显示 d-----。我不太确定如何获得该文件夹或文件的权限以进行保存,并且我在搜索中尽可能多地尝试过,但我尝试过的任何方法都没有修复它。

标签: pythonflask

解决方案


推荐阅读