J’utilise django-resto pour télécharger mes fichiers multimédia sur le serveur distant. Cependant, lorsque j’ai essayé de télécharger, cela me donne django_resto.storage: Failed on create
.
Et journal généré sous les messages,
open() "/var/www/media/media/events/video/clipcanvas_14348_H264_640x360.mp4" failed (2: No such file or directory), client: 172.17.42.1, server: , request: "HEAD /media/events/video/clipcanvas.mp4 HTTP/1.1", host: "IP:8081" client intended to send too large body: body: 2139606 bytes, client: *.*.*.*, server: , request: "PUT /media/events/video/clipcanvas.mp4 HTTP/1.1", host: "IP:8081"
Quelqu’un peut-il s’il vous plaît expliquer pourquoi je reçois une telle erreur?
Paramètres pour le serveur multimédia,
DEFAULT_FILE_STORAGE = 'django_resto.storage.DissortingbutedStorage' RESTO_MEDIA_HOSTS = ['IP:8081']
Configuration Nginx,
server { listen 192.168.0.10; location / { root /var/www/media; dav_methods PUT DELETE; create_full_put_path on; dav_access user:rw group:r all:r; allow 192.168.0.1/24; deny all; } }
Ce problème sera causé par la valeur par défaut de client_max_body_size
(1 Mo).
Vous devrez définir la client_max_body_size
dans un des blocs de contexte suivants:
Le code sera quelque chose comme ceci:
server { # set the max body size across the site to be 20mb client_max_body_size 20m; }
Personnellement, je placerais le client_max_body_size
sur un bloc d’ location
. Cela signifie que votre nouvelle taille maximale ne sera pas définie globalement et définie pour un sous-emplacement particulier de votre site Web.
server { # site default is 1mb client_max_body_size 1m; location /user/profiles/upload { # profile images should be no more than 2m client_max_body_size 5m; # the rest of your website will still use 1m max body size } }
remarque: n’oubliez pas que vous devrez recharger votre fichier de configuration avant que les modifications ne prennent effet.
notez également: vous ne faites que la client_max_body_size
vous avez besoin plus un peu. Arrête les personnes qui envoient des fichiers massivement énormes pour tenter de paralyser votre serveur.