【问题标题】:How can i perform validation on uploaded file in django如何在 django 中对上传的文件执行验证
【发布时间】:2012-11-15 20:14:50
【问题描述】:

我正在上传 django 格式的 pdf 文件。

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

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

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

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

【问题讨论】:

  • 您必须先保存它才能获得路径。

标签: python django forms file-upload


【解决方案1】:

以下示例基于 django 文档中的 Basic file uploads 示例。在此示例中,您可以有一个名为 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})

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 2013-12-14
    • 2012-10-23
    • 1970-01-01
    • 2015-02-23
    相关资源
    最近更新 更多