mutagen прочитал TemporaryUploadedFile в django

Я хочу проверить свои mp3-файлы перед сохранением их на диск, используя Mutagen. Однако с помощью мутагена я могу открыть файл, только если он находится на диске. Это можно обойти? Я хотел бы иметь возможность сделать это:

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

Дает мне ошибку:

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

1 ответ

Решение

TemporaryUploadedFile Файловый объект уже находится на диске, в каталоге, зарезервированном для временных файлов. Чтобы проанализировать его на достоверность, вызовите метод, чтобы получить полный путь:

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

см. TemporaryUploadedFile.teilitary_file_path()

Другие вопросы по тегам