メソッドを使用して、他のいくつかのパラメーター (文字列) と共に複数の画像を PHP サーバーにアップロードしようとしていますPOST
。マルチパート方式を使用しています。さまざまなソリューションで規定されている 4 つのライブラリ (apachemime、httpclient、httpmime、httpcore) を追加しましたが、SDK が を認識せずMultipartEntity
、エラー「cannot be resolved to a type
」が表示されます。も試しましMultipartEntityBuilder
たが、それでも同じエラーが表示されます。基本的に、ビットマップ Arraylist をサーバーにアップロードし、進行状況バーを同時に表示したいと考えています。
1 に答える
1
問題を確認して支援できるように、問題のあるコードを投稿する必要があります。
しかし、少し単純なことを試してみたい場合は、このライブラリ AsyncHttpClient を使用できます: http://loopj.com/android-async-http/
このライブラリを使用すると、次のように複数のファイルを投稿できます。
private static AsyncHttpClient clientHttp = new AsyncHttpClient();
...
RequestParams params = new RequestParams();
final String TAG_FILE = "archivo1";
final String TAG_FILE_1 = "archivo2";
final String TAG_FILE_2 = "archivo3";
final String PATH_FILE_1 = ApplicationContext.getInstance().getFilesDir().getPath() + "/" + "file1.jpg";
final String PATH_FILE_2 = ApplicationContext.getInstance().getFilesDir().getPath() + "/" + "file2.jpg";
final String PATH_FILE_3 = ApplicationContext.getInstance().getFilesDir().getPath() + "/" + "file3.jpg";
try {
params.put(TAG_FILE, PATH_FILE_1);
params.put(TAG_FILE_1, PATH_FILE_2);
params.put(TAG_FILE_2, PATH_FILE_3);
params.put(TAG_PARAM, "SOME TEXT");
}
catch(FileNotFoundException e) {
//Manage your exception
}
final int DEFAULT_TIMEOUT = 30 * 1000;
clientHttp.setTimeout(DEFAULT_TIMEOUT);
clientHttp.post("http://somereceiver.php", params, new JsonHttpResponseHandler() {
@Override
public void onSuccess(JSONObject response) {
//Do your code on success
}
@Override
public void onStart() {
// Show your progress bar
}
@Override
public void onFinish() {
// Hide your progress bar
super.onFinish();
if(PATH_FILE_1 != null) {
File tem = new File(PATH_FILE_1);
if(tem.exists()) tem.delete();
}
if(PATH_FILE_2 != null) {
File tem = new File(PATH_FILE_2);
if(tem.exists()) tem.delete();
}
if(PATH_FILE_3 != null) {
File tem = new File(PATH_FILE_3);
if(tem.exists()) tem.delete();
}
}
});
json が必要ない場合は、一般的な応答タイプを使用して、文字列を取得することもできます。
お役に立てれば。
于 2014-03-21T15:19:30.060 に答える