私が取り組んでいる Django プロジェクトで、画像のアップロードを処理する次のコードがあります。
def upload_handler(source):
fd, filepath = tempfile.mkstemp(prefix=source.name, dir=MEDIA_ROOT)
with open(filepath, 'wb') as dest:
shutil.copyfileobj(source, dest)
return MEDIA_URL + basename(dest.name)
アップロード部分はすべて正常に機能していますが、mkstemp は、拡張子の後に 6 つのランダムなサフィックスを追加して画像を保存しています (例: test.png -> test.pngbFVeyh)。2 番目のコード行で接尾辞を渡しても、それが追加されますが、さらに 6 つのランダムな文字が追加されます。起こっている他の奇妙なことは、アップロードフォルダー(私の場合はMEDIA_ROOT)で、写真と同じ名前の別の空のプレーンテキストドキュメントタイプファイル(例:test.pngbFVeyh)と一緒に作成されることです。mkstemp に関するドキュメントを読みましたが、代替ソリューションが見つかりませんでした。