0

エミュレータからファイルにアクセスすると正常に動作するコードを介してファイルをサーバーにアップロードしようとしていますが、

パスdata/app/07312012_135528.3gpを取得し、サーバーの応答200、OKを取得します

しかし、デバイスを介してアップロードするためにファイルにアクセスすると、エラー400表示 されます。

私の電話はSamsung Galaxy Aceです

HttpPost postRequest = new HttpPost(ServerURL);
MultipartEntity reqEntity = new MultipartEntity();
File dir = Environment.getExternalStorageDirectory();
File yourFile = new File(dir, "tdsongdata/07312012_135528.3gp");
// path becomes "/mnt/sdcard/tdsongdata/07312012_135528.3gp"

if(yourFile.exists())
{
    reqEntity.addPart("email", new StringBody("esetylo@gmail.com"));
    reqEntity.addPart("password", new StringBody("123"));
    reqEntity.addPart("title", new StringBody("The new file"));         
    reqEntity.addPart("musicData", new FileBody(yourFile));
}

しかし、デバイスの同じパスから再生しようとすると、オーディオが正常に再生されます

MediaPlayer mp = new MediaPlayer();
try {
        mp.setDataSource("/mnt/sdcard/tdsongdata/07312012_135528.3gp");
    mp.prepare();
    mp.start(); 
} catch (IllegalArgumentException e) {
        e.printStackTrace();
} catch (IllegalStateException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

問題がどこにあるのか理解できませんでした、助けてください

4

1 に答える 1

1

電話の言語を英語 (米国) に変更します。デバイスを再起動して、もう一度お試しください。

于 2012-08-29T07:37:00.860 に答える