我正在以django形式上传pdf文件。
但是我需要通过读取文件的内容然后检查它是否在pdf文件上执行验证,如果它无效则会给出一些错误信息。
但是我无法找到如何获取pdf文件位置以便我可以读取文件并进行一些测试。
我不想先在临时位置保存,然后进行验证,然后删除文件
所有我需要的是文件的路径,以便我可以在文件上运行一些系统命令
答案 0 :(得分:1)
以下示例基于django文档中的Basic file uploads示例。您可以在此示例中使用名为check_pdf的函数,该函数对pdf文件进行验证,并根据其是否有效返回true / false。根据您将用户重定向到成功或无效的pdf页面。这是最简单的方法。您可以使用表单apis执行更多操作并显示特定的错误消息。
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
if check_pdf(request.FILES['file'].name):
return HttpResponseRedirect('/success/url/')
else:
return HttpResponseRedirect('/invalid_pdf/url/')
else:
form = UploadFileForm()
return render_to_response('upload.html', {'form': form})