Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将文本字符串发布到应用程序引擎blobstore url_Javascript_Jquery_Google App Engine_Blobstore - Fatal编程技术网

Javascript 将文本字符串发布到应用程序引擎blobstore url

Javascript 将文本字符串发布到应用程序引擎blobstore url,javascript,jquery,google-app-engine,blobstore,Javascript,Jquery,Google App Engine,Blobstore,我用javascript在web应用程序中动态创建了一个大字符串,其中包含一大块文本。我想把它保存到blob商店。然而,我不知道如何使它工作。我正在使用常用的blobstoreService.createUploadUrl()命令创建要发布到的URL 将我的字符串发布到blobstore url的一种可能性是使用jQuery.ajax: jQuery.ajax({url:blobstore_url,contentType:'multipart/form-data',type:'POST',dat

我用javascript在web应用程序中动态创建了一个大字符串,其中包含一大块文本。我想把它保存到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堆空间”。通过谷歌搜索此错误表明我的表单数据缺少必需的“name”属性,但我无法确定如何使用jQuery.ajax指定此属性

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

   formData = new FormData()
   formData.append("file",my_string)
   xhr = new XMLHttpRequest()
   xhr.open("POST", blobstore_url)
   xhr.send(formData)
这运行正常,但当AppEngine服务器应用程序中的blobstore触发我的“成功”url时,发布的Blob列表为空。我假设我不能只是将我的_字符串作为文件对象附加到formData中,而是需要执行其他操作


我知道我已经非常接近让这个工作,但我遗漏了一些重要的小细节。如果你们中有人能帮我找出如何解决上述两种方法中的任何一种,我都会很高兴——谢谢

我终于想出了一个解决方案,经过更多的努力,这个解决方案是可行的——对于其他遇到这个问题的人来说,如果你按照下面帖子中的步骤操作,AppEngine blobstore将接受你的字符串数据: