django /ファイルのアップロード許可
-
03-07-2019 - |
質問
djangoアプリを作成しましたが、Webフォームからのアップロードファイルのファイル権限に少し問題があります。
基本的には.mp3ファイルをアップロードできますが、常にchmod 600を保持します。
コンテナフォルダにはchmod 775があり、umaskは022に設定されています。
共有ホスティングサービスを利用しています。
解決
Python 2を使用している場合は、settings.pyでこれを試してください
FILE_UPLOAD_PERMISSIONS = 0644
Python 3では、8進数は0oで始まる必要があるため、行は次のようになります。
FILE_UPLOAD_PERMISSIONS = 0o644
詳細については、ドキュメントを参照。
他のヒント
これが役立つことを願っています。以下の方法を使用できます。これには、許可エラーの解決以外に2つの利点があります。
- ファイルのアクセス権に問題はありません
- さらに高速
- 2.5 MBを超えるファイルの場合、ファイルは/ tmp /フォルダーにコピーされません(スペースも節約します)。
with open(file_name, 'wb+') as temp_file:
for chunk in up_file.chunks():
temp_file.write(chunk)
所属していません StackOverflow