ファイルをGoogleストレージにアップロードするには、create_upload_url(redirect_path)が返すURLに複数のPOSTリクエストを送信しました。 POST要求には、redirect_pathで使用する必要のあるファイルとJSON文字列が含まれています。GAE:Blobアップロード後にマルチパートポストでUnicode JSON文字列が動作しない
JSON文字列にUnicode文字が含まれていると、GAEがマルチパートPOSTリクエストを私に転送した後にJSON文字列が壊れてしまいます。
{"subject": "日文", "tag_key": "ahNifnN1aXF1aS1kZXYtMTcwMDAycjkLEgRUZWFtIgtzdWlxdWlfdGVzdAwLEgdUYWdUeXBlGICAgICAgIAKDAsSA1RhZxiAgICAgK6ZCQw"}
要求を転送GAE後
JSON文字列はUnicodeが読めなくなり、 '=' と '改行は' 予想外に挿入されている
{"subject": "=E6=97=A5=E6=96=87", "tag_key": "ahNifnN1aXF1aS1kZXYtMTcwMDAyc=
jkLEgRUZWFtIgtzdWlxdWlfdGVzdAwLEgdUYWdUeXBlGICAgICAgIAKDAsSA1RhZxiAgICAgK6Z=
CQw"}
redirect_pathする:
JSON文字列は、URLをアップロードするために送られました。
奇妙なことに、ユニコードの短いJSON文字列がうまく機能します。
{"subject": "日文", "tag_key": ""}.
その他の見所、
問題が本番環境で発生します。私はローカル開発サーバーで再現できません。
redirect_pathへのマルチパートPOST要求に問題はありません。この問題は、blobstore.create_upload_urlへの投稿時にのみ発生します。
GAE標準環境、Python、Django、Django Restフレームワーク、およびPostmanを使用してテストしています。
考えられる原因がある場合は教えてください。