使用Django rest_framework收到pdf文件。我尝试了几种方法来解析传入文件中的内容。
curl -vX POST http://127.0.0.1:8000/documents/ -d @ 10_CSS \(1).pdf --header“Content-Type:application / pdf”--header“Content-Disposition:attachment; filename = 10_css.pdf”
def create(self, request):
file_ = request.FILES['file']
parser = PDFParser(file_)
document = PDFDocument(parser)
PDFSyntaxError:否/ Root对象! - 这真的是PDF吗?
def create(self, request):
file_ = request.FILES['file']
parser = PDFParser(file_.read())
document = PDFDocument(parser)
AttributeError:'str'对象没有属性'seek'
def create(self, request):
utf8_file = codecs.EncodedFile(request.FILES['file'], "utf-8")
with open('/tmp/whatever.pdf', 'wb+') as destination:
for chunk in request.FILES['file'].chunks():
destination.write(chunk)
file_ = open('/tmp/whatever.pdf', 'rb')
parser = PDFParser(file_)
document = PDFDocument(parser)
PDFSyntaxError:否/ Root对象! - 这真的是PDF吗?
我尝试了几个结果相同的pdf文件。当我尝试解析pdf文件然后将其发送到我的应用程序之前,它解析得很好。 **如何从InMemoryUploadedFile
解析pdf文件?
答案 0 :(得分:0)
我猜你正在使用:
parser_classes = (FileUploadParser,)
在这种情况下,您的标题(--header“Content-Disposition:attachment; filename = 10_css.pdf”)包含在文件中。
我建议您使用MultiPartParser
,不要发送Content-Disposition标头。