0

PDFファイルをdjango形式でアップロードしています。

しかし、ファイルの内容を読み取ってチェックし、有効でない場合はエラーメッセージを表示して、pdfファイルの検証を実行する必要があります。

しかし、ファイルを読み取ってテストを実行できるように、pdf ファイルの場所を取得する方法を見つけることができません。

最初に一時的な場所に保存してから、検証を行ってからファイルを削除したくありません

ファイルに対してシステム コマンドを実行できるように、必要なのはファイルのパスだけです。

4

1 に答える 1

1

以下の例は、django ドキュメントの基本的なファイルのアップロードの例に基づいています。この例では、pdf ファイルの検証を行い、有効かどうかに基づいて true/false を返す check_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 に答える