Как я могу сохранить PDF из локальной ОС в Django FileField? - PullRequest
0 голосов
/ 04 января 2019

У меня есть программа, которая пишет и сохраняет PDF-файлы в каталог. Мне нужно взять PDF-файлы из этого каталога и сохранить их как FileFields в классе модели Document. Мой MEDIA ROOT подключен к S3 и уже работает с другими моделями с помощью upload_to =.

Я пытался использовать файл django.core.files.File как , показанный здесь ! но я получаю ошибку кодирования. Я также получаю ошибку кодирования с изображениями .jpeg, но не с файлами .txt. Поэтому у меня есть основания полагать, что это проблема с типом файла.

from django.core.files import File

def upload_file(self, file_path):
    f = open(file_path)
    document = Document.objects.create()
    document.file.save(NewFile.pdf, File(f))

Я хочу, чтобы файл попал в мою корзину S3. Тем не менее, я получаю

'utf-8' codec can't decode byte 0xe2 in position 10: invalid continuation byte

Я тоже получу это, если попробую:

f.read() 

Я думаю, что это связано с содержимым изображения внутри PDF, но я застрял. Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...