Django обновляет InMemoryUploadedFile с помощью Piexif
Я пытаюсь удалить данные exif из загруженного изображения, прежде чем продолжить обработку его перед сохранением на сервер.
Я использую piexif, как в этом ответе, чтобы удалить метаданные exif. Однако документация piexif.insert() требует указания пути к изменяемому изображению. Можно ли использовать piexif для записи в файл в памяти?
An InMemoryUploadedFile
имеет name
атрибут, который, кажется, указывает путь к файлу, однако он не работает должным образом.
def modifyAndSaveImage():
# Get the uploaded image as an InMemoryUploadedFile
i = form.cleaned_data['image']
# Use piexif to generate an empty exif byte dump
exif_bytes = piexif.dump({})
piexif.insert(exif_bytes, i._name) # What should the second parameter be?
# continue using i...
0 ответов
Если вы загрузите файл с
PIL
и сохраните его, он лишит EXIF;
from PIL import Image
image = Image.open(form.cleaned_data['image'])
image.save('my_images/image.jpg')
Если у вас есть проблема с какими-либо данными, вы также можете попробовать создать полностью новый образ, подобный этому;
from PIL import Image
image = Image.open(form.cleaned_data['image'])
image_data = list(image.getdata())
new_image = Image.new(image.mode, image.size)
new_image.putdata(image_data)
new_image.save('my_images/image.jpg')
документы по
Image
находятся здесь