1

Forge ファイル モジュールを使用して、ギャラリーから画像をアップロードしようとしています。Forge は Android 2.3 で実行されており、画像選択キャプチャ ビットは正常に動作します。しかし、Request.Ajax() でファイルを送信しようとすると、偽造例外が発生します。

以下のCatalystログからの出力をダンプしました

Request URL:forge.request.ajax
Request Method:undefined
Status Code:400 error

{ url: 'http://example.com/',
  username: null,
  password: null,
  data: null,
  headers: { Accept: '*/*', 'Content-Type': 'image/jpg' },
  timeout: 60000,
  type: 'POST',
  boundary: null,
  files: 
   [ { uri: 'content://media/external/images/media/212#Intent;end',
       name: 'Image',
       height: 500,
       width: 500 } ],
  fileUploadMethod: 'raw' }  // <- got this from a blog post, 

そして、これは私が見返りに得るものです

{ type: 'UNEXPECTED_FAILURE',
  message: 'Forge Java error: FileNotFoundException: http://example.com/' }

私はサーバー側をチェックし、そこに問題がないことを確認しました(そこに投稿するテストスクリプトを作成しました)。ファイル添付呼び出しを削除すると、アプリはサーバーに投稿します。

ここに投稿されたサンプル コードを見てきましたが、古い API を使用しているようで、いくつかのメソッドが見つかりません - https://github.com/trigger-corp/photo-log/blob/master/ photolog.js

ファイル呼び出しで何か間違ったことをしていますか?

4

1 に答える 1

1

Catalyst の出力に明らかな問題はありませんFileNotFoundException。サーバー側で問題が発生したことを示しています。この場合、example.com はマルチパート エンコードされた POST を予期していなかったと思います。

昨日、いくつかのコードを公開しました。これにより、request.ajax エラー メッセージがより明確になりました。アプリを再構築して再実行し、サーバー側の問題が何であるかを確認できるかどうかを確認することをお勧めします。

于 2012-05-09T08:30:08.450 に答える