如何使用 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 Rest 框架的 React 前端使用 Django 用户组和权限
如何使用 allauth 和 rest-auth 从 React 前端在 Django 中重新发送确认电子邮件
基于 jspdf.js 库生成 PDF 文件时中文乱码问题的解决