GAE上でFlexを使用してファイルアップロードを行っているのですが
どうもうまくいかない状態でした。
まぁオススメはできませんが回避策を一応書いておきます。
FireReference.uploadはセキュリティ系の問題なのか
クッキーを送信できません。
ここのにupload()のURLRequestHeaderのところに記述があります。
GAEでは認証アプリ内ではクッキーを使用して認証を確認しているようで
JSESSIONIDとACSIDを送信することが不可能なようです。
なのでGAE上でFileReferenceを利用してアップロードをすると
アップロード時に認証エラーでアップロードができないようです。
そこで、私の場合はアップロードのURLを認証から外して独自認証することで切り抜けました。
Flexが送信するRequestに引数をjsessionidを指定しておいて
認証のかかってないURLの処理上でSessionからIDを取得して同一かを判定して切り抜けました。
まぁセキュリティ上は微妙でしょうけど、
一応認証を受けてないと使えないようにはしました。
で、、、ここで気をつけなければいけないのは
FileReferenceで渡すURLRequest.dataをObjectではなく、
URLVariablesにすることです。
そうしないとRequestでmultipartにならず、
multipartで値を受け取れないからです。(slim3)
0 件のコメント:
コメントを投稿