0

私はGAEグループでこれを尋ねようとしましたが、何も得られませんでした.

blobstore サービスを介して GAEj アプリにファイルを送信するインストール済みのアプリがあります。これはすべて開発サーバーで正常に機能しますが、実稼働環境では、ブロブストアがアップロードを受け入れ、blobstoreService.createUploadUrl() に提供された URL を使用してアプリを呼び出し、アップロードされたファイルと共にクライアントが提供したすべてのパラメーターを正しく渡しますこの URL ですが、blobstoreService.getUploadedBlobs() 呼び出しに対して空のマップを返します。この時点でアプリがクラッシュし、GAE がクライアントに 500 を返します。ブロブストアがどこかで何が問題なのかを示していれば、これはすべてデバッグがはるかに簡単になります。

また、作成された BLOB がダッシュボードに表示されないため、それらが作成されていないことがわかります。

ありがとう!-----EDIT----- データのフィドラー 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""

これは確かに私の間違いですが、ブロブストアが不透明度の低い方法で失敗し、パーサーが開発と本番で同じように動作することを本当に望んでいます。

私の間違いとこの質問の間: AppEngine BlobStoreのアップロードが、開発環境で機能するリクエストで失敗するblobstore パーサーは気質の動物である可能性があると思います。=)

于 2010-11-04T15:48:46.660 に答える