質問

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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top