0

我正在以 django 形式上传 pdf 文件。

但是我需要通过读取文件的内容然后检查来对 pdf 文件执行验证,如果它无效然后给出一些错误消息。

但我无法找到如何获取 pdf 文件位置,以便我可以读取文件并进行一些测试。

我不想先保存在临时位置然后进行验证然后删除文件

我只需要文件的路径,这样我就可以在文件上运行一些系统命令

4

1 回答 1

1

下面的示例基于 django 文档中的基本文件上传示例。在此示例中,您可以有一个名为 check_pdf 的函数,它对 pdf 文件进行验证,并根据它是否有效返回真/假。根据您将用户重定向到成功或无效的 pdf 页面。这是最简单的方法。您可以使用表单 api 执行更多操作并显示特定的错误消息。

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})
于 2012-11-28T03:37:48.953 回答