1

Android エミュレーターを使用してサーバーに画像をアップロードしようとしていますが、次のようなエラーが発生します。

  1. サーバー上の FileNotFoundException
  2. FileTransfer.upload のエラー
  3. FileTransfer.execute のエラー
  4. IOException: サーバーからエラーを受け取りました。
  5. "http_status":500、"コード":3

エミュレーターでキャッシュをクリアしようとしましたが、エミュレーターで Web ブラウザーを使用して画像をアップロードしましたが、動作しました。またoptions.chunkedMode = false; 、Cordova 2.0.0 を使用し、Android 4.1 を使用してエミュレーターを実行するように設定しました。

誰かがこれについて私を助けてくれませんか、誰かが同じエラーを経験したことがあるなら、私を助けてください.

PS: コードを以下に示します。

function uploadPhoto() {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=_img.substr(_img.lastIndexOf('/')+1);      
options.mimeType="image/jpeg";

var params = new Object();
params.HCPracticeNumber = "11331";
params.ServiceDate = "12 Sep 2012";
params.AmountClaimed = "200";

options.params = params;
options.chunkedMode = false;

var ft = new FileTransfer();
ft.upload(_img, "http://172.20.09.12/asd123", win, fail, options, true);
}
4

1 に答える 1

0

サーバー側のコードで、コードで指定されている「ファイル」という単語を探していることを確認してください。以下に引用したものを参照してください。

options.fileKey="file";

たとえば、PHP サーバー コードでは次のようになります。

$_FILES['file']['name']

「ファイル」以外の単語を使用すると、エラーが発生します。

于 2013-05-21T12:18:13.510 に答える