首页 > 解决方案 > 从 django 服务器上传时,Firestore 存储未显示图像

问题描述

我的问题是,当我将图像上传到 Firestore 存储时,它正在上传,但是当我打开图像时出现 404 错误:“在服务器上找不到请求的 URL。”

我包括下面的代码。

我已经尝试过upload_from_file(),upload_from_string()upload_from_filename(),但似乎没有任何效果。

视图.py

import PIL
from django.core.files.storage import default_storage
from django.core.files.base import ContentFile
from django.conf import settings

@login_required
def create_event(request):
    form = EventForm()
    if request.method == "POST":
        form = EventForm(request.POST, request.FILES)
        if form.is_valid():
            print("my form dynamic details  ", request.POST)
            print("my files ", request.FILES['cover_image'])
            path = default_storage.save(
                'tmp/'+request.FILES['cover_image'].name,
                ContentFile(request.FILES['cover_image'].read())
            )

            of = open('media/tmp/'+request.FILES['cover_image'].name, 'rb')
            print("my of ", of)

            # I have tried all the methods below but doesn't work at all.
            blob = bucket.blob(request.FILES['cover_image'].name)
            blob.upload_from_file(of, content_type="image/jpeg")
            # blob.upload_from_string(request.FILES['cover_image'].name, content_type="image/jpeg")
            # blob.upload_from_filename(filename='media/tmp/'+request.FILES['cover_image'].name)
            print(
                "File {} uploaded to {}.".format(
                    request.FILES['cover_image'].name, "jigarfile.jpg"
                )
            )

            return redirect('create_event')
        else:
            print("my erros ", form.errors)
    return render(request, 'user/events.html')


下面我附上图片

在此处输入图像描述

标签: pythondjangofirebasegoogle-cloud-firestore

解决方案


推荐阅读