Pregunta

Escribí una aplicación django, pero tengo un pequeño problema con los permisos de archivos de los archivos cargados desde un formulario web.

Básicamente puedo cargar un archivo .mp3 pero siempre conserva el chmod 600.

La carpeta contenedora tiene chmod 775 y umask se establece en 022.

Estoy en un servicio de alojamiento compartido.

¿Fue útil?

Solución

Prueba esto en tu configuración.py si usas Python 2:

FILE_UPLOAD_PERMISSIONS = 0644

En Python, los números octales 3 deben comenzar con 0o para que la línea sea:

FILE_UPLOAD_PERMISSIONS = 0o644

Para obtener más detalles, vea la documentación .

Otros consejos

Espero que esto sea útil. Se puede utilizar el siguiente método. Esto tiene otras 2 ventajas además de resolver los errores de permisos.

  • No hay problemas con los permisos de archivo
  • Más rápido
  • El archivo no se copia en la carpeta / tmp / para archivos que tienen más de 2.5 MB (ahorrando espacio también).

with open(file_name, 'wb+') as temp_file:
    for chunk in up_file.chunks():
        temp_file.write(chunk)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top