如何使用 Django 框架从前端读取 pdf 文件?

Posted

技术标签:

【中文标题】如何使用 Django 框架从前端读取 pdf 文件?【英文标题】:How to read pdf file from frontend using Django framework? 【发布时间】:2021-01-13 23:07:43 【问题描述】:

我正在尝试使用 Django 框架读取 pdf 文件内容。到目前为止我尝试过的是

def upload(request):
    
    try:
        if request.method == 'POST':
            if request.FILES['document'].name.split('.')[-1] == "pdf":
                input = request.FILES['document'].read().decode()

                print(input)

            
            return HttpResponse('upload Products')

    except Exception:
        traceback.print_exc()  

input = request.FILES['document'].read().decode() // 此方法给出错误,如 'utf-8' codec can't decode byte 0x9c in position 72: invalid start byte

input = request.FILES['document'].read()我无法解码 输出

b'%PDF-1.4\n%\xc3\xa4\xc3\xbc\xc3\xb6\xc3\x9f\n2 0 obj\n>\nstream\ nx\x9c\xdd\x1b\xcb\x8e\xe3\xb8\xf1\xde_\xe1\xf3\x02\xee\x88ER\x94\x80\x81\x01\xdbm\x07\xd8\xdbf\x1a\xc8! \xc8\xc9\xc9&Xx\x03d/\xfb\xfb xa9'Yz\xd8\xed\xe9\xde\x1c\xa6\xd1\x18O\x95$\x92\xf5\xae\x12Y\xea\x9e\xc3\xe6\xf7\xa7\xffn\xbaM\x87P\x1e \xf33l\x86\x14\x9e\x87\xcdo\xff|\xfa\xeb\x0f\x9b\xff xfe\xfd\xf4\xf3\x0f\x93A\xd1\r\x8a\xf7\x0619\xf8\x87\x8b\x1e^\x9fr\xc6'\x06\xc0\x9f\xd7\x7fl\xfetFj\x86\ xcd\xeb\xcf_\xba\xb0\xfd\xe5\xe9\xf4\xfa\xf4\xd3\xecy\x08\xf0\x9c\xee\x0f\xe8\x9e\xbb\xae\x0c\t\xd7 \x8e\xb9\x1fz\xfc?\r\x103M\x00 cA\xe6\x87\xd8\xe3\x1c\xbf>\x11q\x02_\x99P\x12MQ\x16\xd2\x1c\xd3\xe7\xfc\x0c\xd7'\x91\xc2\x8d\xf5\xfe\ xf2g\xa2\xfd\xb9\xc4

我是否必须对内容类型为 application/pdf 做任何事情

我们如何在 Django 中获取文件的完整路径 ex: C:\Users\Testing\Zee\ZDemo.pdf

【问题讨论】:

试试decode("utf-8") 已经尝试过 Error [ input = request.FILES['document'].read().decode("utf-8") ] ........'utf-8' codec无法解码字节 0x9c' 【参考方案1】:

您需要使用不同的阅读器。 将您上传的内容保存到文件夹中,然后按照本教程进行操作:

https://www.geeksforgeeks.org/working-with-pdf-files-in-python/

【讨论】:

是他们在不将文件保存在项目中的情况下读取pdf文件内容的任何方式。 似乎你不需要:***.com/questions/45795089/… 只需跳过 file.read 行,它应该立即为你工作 是否可以从 request.FILES['document'] 获取完整路径 eg: C:\Users\Testing\Zee\ZDemo.pdf? 不,除非你把它保存在服务器上,否则你无法获得完整的路径,当你把它保存在服务器上时,你会知道你保存在哪里:)

以上是关于如何使用 Django 框架从前端读取 pdf 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Django-在前端不显示 PDF 页面

如何在带有 Django Rest 框架的 React 前端使用 Django 用户组和权限

如何使用 allauth 和 rest-auth 从 React 前端在 Django 中重新发送确认电子邮件

基于 jspdf.js 库生成 PDF 文件时中文乱码问题的解决

基于 jspdf.js 库生成 PDF 文件时中文乱码问题的解决

最流行的Python Web框架Django