42

我写了一个 django 应用程序,但是我对从 web 表单上传文件的文件权限有一点问题。

基本上我可以上传一个 .mp3 文件,但它始终保持 chmod 600。

容器文件夹有 chmod 775,umask 设置为 022。

我在共享托管服务中。

4

2 回答 2

88

如果您使用 Python 2,请在您的 settings.py 中尝试此操作:

FILE_UPLOAD_PERMISSIONS = 0644

在 Python 3 中,八进制数必须以 0o 开头,因此该行将是:

FILE_UPLOAD_PERMISSIONS = 0o644

有关更多详细信息,请参阅文档

于 2009-03-03T23:59:50.987 回答
0

希望这是有用的。可以使用下面的方法。除了解决权限错误之外,这还有 2 个其他优点。

  • 文件权限没有问题
  • 更多更快
  • 对于超过 2.5 MB 的文件(也节省空间),该文件不会复制到 /tmp/ 文件夹。

with open(file_name, 'wb+') as temp_file:
    for chunk in up_file.chunks():
        temp_file.write(chunk)
于 2018-11-10T13:33:30.993 回答