2

djangoファイルのアップロードを最初に試みていますが、現時点で必要なのは、アップロードした画像(png / jpg)をアップロードしたユーザーに表示する方法だけです。

どこにでも保存する必要はありません。

私のviews.py:(私はdjangoフォームを使用しています、ところで)

if request.method == 'POST':
    form = UploadFileForm(request.POST, request.FILES)
    if form.is_valid():
        upFile = request.FILES['upFile']
        f={"upFile":upFile}
        return render_to_response('upload2.html', f)

そして、予想どおり、{{upFile.name}}と{{upFile.size}}を使用して、テンプレートにファイルの名前とサイズを表示できます。

ファイルを保存する手間をかけずに、レンダリングされたテンプレートに「InMemoryUploadedFile」として直接ロード/表示する方法はありますか?

4

1 に答える 1

4

次のように、画像データからデータ URI を作成できます。

http://djangosnippets.org/snippets/2516/から借用した URI の作成:

if form.is_valid():
    upFile = request.FILES['upFile']
    data = upFile.read()
    encoded = b64encode(data)
    mime = # the appropriate mimetype here, maybe "image/jpeg"
    mime = mime + ";" if mime else ";"
    f = {"upFile": "data:%sbase64,%s" % (mime, encoded)}
    return render_to_response('upload2.html', f)

次に、テンプレートで使用します。

<img src="{{ upFile }}">
于 2012-10-05T17:57:08.400 に答える