2016-05-14 10 views
3

私はMutagenを使ってディスクに保存する前にmp3を検証したいと思います。しかし、私はそれがディスク上にある場合、私はファイルを開くことができますmutagenと。これを回避する方法はありますか?私はこれを行うことができるようにしたいと思います:mutagenはdjangoのTemporaryUploadedFileを読み込みます

files = request.FILES 
mp3 = files.get('mp3') 
mp3_audio = MP3(mp3) 

は私にエラーを与える:

TypeError: invalid file: <TemporaryUploadedFile: test.mp3 (audio/mpeg)> 

答えて

2

TemporaryUploadedFileファイルオブジェクトは、一時ファイル用に予約ディレクトリに、ディスク上にすでにあります。有効性のためにそれを分析するために、完全なパスを取得するメソッドを呼び出します。私は私が自分自身そう多くイライラする瞬間を保存しているだろう、この機能については知られていた場合

files = request.FILES 
mp3_temp = files.get('mp3') 
mp3_audio = MP3(mp3_temp.temporary_file_path()) 

は、

+0

TemporaryUploadedFile.temporary_file_path()おっとを参照してください。 –

+0

もう一度、何らかの理由でdjangoがTemporaryUploadedFileを返すのではなく、InMemoryFileを返すようになりました。何か案は?無作為に、そして特定のファイルで起き始めました。 –

+0

nvm、設定でメモリファイルハンドラを削除する必要がありました –

関連する問題