在生产中获取500 blobstore上传,dev服务器工作正常

时间:2010-11-04 13:11:11

标签: google-app-engine blobstore

我试着在GAE小组上问这个问题,但没有得到任何结果,而且我对此问题的解决速度很快......

我已经安装了一个应用程序,通过blobstore服务将文件提交到我的GAEj应用程序。这一切在dev服务器上工作正常,但在生产中,blobstore接受上传,然后使用提供给blobstoreService.createUploadUrl()的URL调用我的应用程序,正确传递我的客户端提供的所有参数以及上传的文件此URL,但返回blobstoreService.getUploadedBlobs()调用的空映射,此时我的应用程序崩溃,GAE返回500到我的客户端。如果blobstore在某处显示出错的地方,那么这将更容易调试。

另外,我没有在仪表板中看到任何创建的blob,所以我知道它们没有被创建。

谢谢! - - -编辑 - - - 这是数据的fiddler http捕获:

POST http://MYAPP.appspot.com/_ah/upload/?oauth_token=1%2FTRaFrr7-6m55jqdJBnFovQwS51WsrmNKmhHfTNxEWro&oauth_consumer_key=anonymous&oauth_nonce=I5HbpgtW&oauth_signature_method=HMAC-SHA1&oauth_signature=Ls7CWohqj2829nJV8bIGj2EkDCQ%3D&oauth_version=1.0&oauth_timestamp=1288878313/AMmfu6YAKuBqyq8M8zQ5hpHUAY88LJjYmbPj6Y7663GrW5qa8dYwWLWXpRHtktu_C1dyozhoH8CS2It6hjNQTbBsoFgFcERR_8680rpcv0fnZ1rl_P_0mDw/ALBNUaYAAAAATNK7QSoSJ5sWOxotMwyHoShtadRvqw8P/ HTTP/1.1
Content-Type: multipart/form-data; boundary=-----------------------------28947758029299
User-Agent: MyAppClient
Host: MYAPP.appspot.com
Content-Length: 4678
Expect: 100-continue

-------------------------------28947758029299
Content-Disposition: form-data; name="UploadToken"

aglvcGVua2xlaW9yGgsSEkdvb2dsZUFjY291bnRzVXNlchihnAEM
-------------------------------28947758029299
Content-Disposition: form-data; name="LastInChain"

True
-------------------------------28947758029299
Content-Disposition: form-data; name="CardID"

6f1e4c6a-54b6-49a6-96fc-22e08db3dde4
-------------------------------28947758029299
Content-Disposition: form-data; name="MediaType"

Image
-------------------------------28947758029299
Content-Disposition: form-data; name="HtmlKey"

img0.jpg
-------------------------------28947758029299
Content-Disposition: form-data; name="Position"

0
-------------------------------28947758029299
Content-Disposition: form-data; name="ParentID"

4d386a6e-b742-4249-a2f0-ff33a2300ff0
-------------------------------28947758029299
Content-Disposition: form-data; name="file"; filename="img0.jpg";
Content-Type: image/jpg

�����JFIF��`�`�����C�
*BINARYSTUFFREMOVEDFROMHERE*    

-------------------------------28947758029299--

1 个答案:

答案 0 :(得分:1)

我终于解决了我的问题,在我的情况下,反派是一个分号。

该行

"Content-Disposition: form-data; name="file"; filename="img0.jpg";"

应改为:

"Content-Disposition: form-data; name="file"; filename="img0.jpg""

虽然这肯定是我的错误,但我真的希望blobstore以一种不太透明的方式失败,并且解析器在开发和生产方面的行为也相同。

在我的错误和这个问题之间: AppEngine BlobStore upload failing with a request that works in the Development Environment 我猜blobstore解析器可能是一种脾气暴躁的动物。 =)