【问题标题】:Posting a text string to an App Engine blobstore url将文本字符串发布到 App Engine blobstore url
【发布时间】:2011-09-24 16:09:25
【问题描述】:

我在 web 应用程序的 javascript 中动态创建的大字符串中有一大段文本。我想将它保存到 blob 存储。但是,我不知道如何使它工作。我正在使用通常的 blobstoreService.createUploadUrl() 命令创建要发布到的 URL。

将我的字符串发布到 blobstore url 的一种可能性是使用 jQuery.ajax:

jQuery.ajax({url:blobstore_url,contentType:'multipart/form-data',type:'POST',data:{file:mystring}})

但是,当我运行此命令时,我收到 AppEngine 错误“java.lang.OutOfMemoryError: Java heap space”。谷歌搜索此错误表明我的表单数据缺少必需的“名称”属性,但我无法弄清楚如何使用 jQuery.ajax 指定它。

另一种可能是使用浏览器的 FormData 对象:

   formData = new FormData()
   formData.append("file",my_string)
   xhr = new XMLHttpRequest()
   xhr.open("POST", blobstore_url)
   xhr.send(formData)

这运行良好,但是当我的“成功”网址由我的 AppEngine 服务器应用程序中的 blobstore 触发时,已发布的 blob 列表为空。我假设我不能只是将 my_string 作为文件对象附加到 formData,而是需要做其他事情。

我知道我非常接近这项工作,但我错过了一些重要的小细节。如果你们中的任何人可以帮助我弄清楚如何解决上述两种方法中的任何一种,我会很高兴-谢谢!

【问题讨论】:

    标签: javascript jquery google-app-engine blobstore


    【解决方案1】:

    经过更多努力,我终于找到了一个可行的解决方案-对于遇到此问题的任何其他人,如果您按照下面帖子中的步骤操作,AppEngine blobstore 将接受您的字符串数据:

    Javascript: Uploading a file... without a file

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-01
      • 2013-12-06
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      • 2013-12-25
      相关资源
      最近更新 更多