2010-11-04 37 views
0

我試着問這個在GAE組,但什麼也沒得到,而且我越來越無處快這個問題...獲得500在生產中Blob存儲上傳,開發服務器工作正常

我有一個安裝應用程序通過blobstore服務將文件提交給我的GAEj應用程序。這在開發服務器上可以正常工作,但在生產中,blobstore接受上傳,然後使用提供給blobstoreService.createUploadUrl()的URL調用我的應用程序,將我的客戶端隨上傳的文件提供的所有參數正確傳遞給此URL,但返回blobstoreService.getUploadedBlobs()調用的空映射,此時我的應用崩潰,GAE向我的客戶端返回500。如果blobstore在某個地方給出了某些指示,那麼這將更容易調試。

另外,我沒有在儀表板中看到任何創建的斑點,所以我知道它們沒有被創建。

謝謝! ----- -----編輯這裏 是數據的小提琴手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-- 
+0

如果您使用標準HTML表單上傳到您的應用程序,一切工作嗎?看起來您的客戶端代碼可能不會生成格式良好的上傳,並且dev_appserver比生成代碼更靈活。 – 2010-11-04 13:45:59

+0

我目前正在製作一個正常的HTML表單來查看是否改變任何東西。我剛剛編輯我的問題,包括文件上傳的捕獲。我花了很多時間將它與RFC的預期相比,似乎很好。 – tempy 2010-11-04 14:00:40

+0

我注意到了儀表板日誌中的以下內容:「POST/mediaupload HTTP/1.1」500 3791 - 「MYAPP,gzip(gfe)」,所有請求似乎都由兩個數字組成,第一個是生成的http代碼,第二個數字,在這種情況下總是「3791」,我找不到任何線索。這個數字可能是blobstore的一些錯誤代碼嗎? – tempy 2010-11-04 15:06:39

回答

1

我終於固定我的問題,在我的情況小人是一個分號。

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

應改爲:

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

雖然這肯定是我的錯,我真的希望Blob存儲區將無法在一個不太不透明的方式,也解析器在開發和生產上表現相同。

在我的錯誤和這個問題之間: AppEngine BlobStore upload failing with a request that works in the Development Environment 我猜blobstore解析器可以是一個脾氣暴躁的動物。 =)

相關問題