0

我试图在 GAE 小组上问这个问题,但一无所获,而且我在这个问题上没有任何进展......

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

此外,我在仪表板中看不到任何已创建的 blob,因此我知道它们没有被创建。

谢谢!-----编辑----- 这是一个提琴手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--
4

1 回答 1

1

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

线

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

应该改为:

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

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

在我的错误和这个问题之间: AppEngine BlobStore upload failed with a request that works in the Development Environment 我猜 blobstore 解析器可能是一个喜怒无常的动物。=)

于 2010-11-04T15:48:46.660 回答