Я работаю над веб-приложением Django, где хочу преобразовать файлы .pdf и .docx в .txt. Я написал функцию save(), в которой я хочу получить файл, а затем преобразовать его в формат .txt. Но это дает мне ошибку:
FileNotFoundError в /post/new/ [Errno 2] Нет такого файла или каталога: 'Python String.pdf'
мои модели.py:
from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
import PyPDF2
import os
# Create your models here.
class FileUpload(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True , null=True)
file = models.FileField(upload_to='files')
def save(self, *args, **kwargs):
if self.file:
pdffileobj = open(str(self.file.name), 'rb') # this is where i want to get the file but it give me the error
pdfreader = PyPDF2.PdfFileReader(pdffileobj)
x = pdfreader.numPages
pageobj = pdfreader.getPage(x + 1)
text = pageobj.extractText()
file1 = open(self.file.name.txt, "a")
file1.writelines(text)
super(FileUpload, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('home')
Вывод таков: я хочу преобразовать свой .pdf в .txt перед его сохранением. Спасибо
Весь код такой же, но проблема в том, как прочитать файл с помощью django. Что этот код не читает файл
@HumaQureshi, где вы определили self.file.name
@HumaQureshi вы должны указать полный путь в открытом методе
Я не хочу делать это статически. Я хочу сделать это с каждым файлом пользователя
я нашел это, если это не сработало, я не могу думать иначе, извините coderhelper.com/a/24971898/13319197