我编写了一个 django 应用程序,但从 Web 表单上传文件的文件权限有一些问题。

基本上我可以上传 .mp3 文件,但它总是保持 chmod 600。

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

我使用的是共享托管服务。

有帮助吗?

解决方案

如果使用Python 2,请在settings.py中尝试:

FILE_UPLOAD_PERMISSIONS = 0644

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

FILE_UPLOAD_PERMISSIONS = 0o644

有关详细信息,请查看文档

其他提示

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

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

with open(file_name, 'wb+') as temp_file:
    for chunk in up_file.chunks():
        temp_file.write(chunk)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top