Django上的Google App Engine Blobstore API

我有一个用Django构建的应用程序,目前已部署在Google App Engine上。一切正常,除了我要上传大于32MB的文件时。我收到一条错误消息 413。这是一个错误。

我一直在做一些研究,后来我意识到必须使用Google App Engine的Blobstore API。我不知道如何在Django应用程序中实现它。

当前我的代码如下:

型号:

class FileUploads(models.Model):
    title = models.CharField(max_length=200)
    file_upload = models.FileField(upload_to="uploaded_files/",blank=True,null=True)

表格:

class UploadFileForm(forms.ModelForm):

    class Meta:
        model = FileUploads
        fields = ["title","file_upload"]

查看:

def upload_file(request):

    if request.method == "POST":
        form = UploadFileForm(request.POST,request.FILES)
        if form.is_valid():
            form.save()  
    form = UploadFileForm()

    return render(request,"my_app/templates/template.html",{"form": form})

一切正常。我只想知道如何在当前的代码结构上实现Google App Engine's Blobstore API来启用大文件上传。

congine123 回答:Django上的Google App Engine Blobstore API

来自Google Cloud Official Documentation

  

存在专门用于Blobstore API的限制。

     
      
  • 使用一个API调用的应用程序可以读取的Blobstore数据的最大大小为32 MB。

  •   
  • 单个POST形式最多可以上传文件500个。

  •   

您的代码看起来不错,由于Blobstore API配额和限制,这是预期的错误。一种方法是分割文件大小(不超过32 MB),并在上传较大的文件时进行多个API调用。另一个解决方案是直接上传到Google Cloud Storage

希望这可以澄清您的问题。

本文链接:https://www.f2er.com/3111156.html

大家都在问