[解決済み] Android SDKでマルチパートリクエストを投稿する
質問
比較的簡単だと思っていたことをやろうとしています。Android SDK を使用してサーバーに画像をアップロードします。多くのサンプル コードが見つかりました。
http://linklens.blogspot.com/2009/06/android-multipart-upload.html
しかし、どちらも私には機能しません。私が遭遇し続ける混乱は、マルチパート リクエストを作成するために本当に必要なものは何かということです。マルチパートのリクエストに必要な 最もシンプルな Android でマルチパートのアップロード (画像付き) を行う最も簡単な方法は何ですか?
何かお手伝いやアドバイスがありましたら、ぜひお願いします。
どのように解決するのですか?
2014年4月29日に更新しました。
私の回答はもう古いので、あなたはむしろ次のような高レベルのライブラリを使用したいのだと思います。 レトロフィット .
このブログを元に、次のような解決策を考えました。 http://blog.tacticalnuclearstrike.com/2010/01/using-multipartentity-in-android-applications/
を取得するために、追加のライブラリをダウンロードする必要があります。
MultipartEntity
を実行するために、追加のライブラリをダウンロードする必要があります!
1) httpcomponents-client-4.1.zip を以下からダウンロードします。 http://james.apache.org/download.cgi#Apache_Mime4J をダウンロードし、apache-mime4j-0.6.1.jarをプロジェクトに追加してください。
2) httpcomponents-client-4.1-bin.zipを以下からダウンロードします。 http://hc.apache.org/downloads.cgi をダウンロードし、httpclient-4.1.jar, httpcore-4.1.jar, httpmime-4.1.jar をプロジェクトに追加してください。
3) 以下のサンプルコードを使用します。
private DefaultHttpClient mHttpClient;
public ServerCommunication() {
HttpParams params = new BasicHttpParams();
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
mHttpClient = new DefaultHttpClient(params);
}
public void uploadUserPhoto(File image) {
try {
HttpPost httppost = new HttpPost("some url");
MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntity.addPart("Title", new StringBody("Title"));
multipartEntity.addPart("Nick", new StringBody("Nick"));
multipartEntity.addPart("Email", new StringBody("Email"));
multipartEntity.addPart("Description", new StringBody(Settings.SHARE.TEXT));
multipartEntity.addPart("Image", new FileBody(image));
httppost.setEntity(multipartEntity);
mHttpClient.execute(httppost, new PhotoUploadResponseHandler());
} catch (Exception e) {
Log.e(ServerCommunication.class.getName(), e.getLocalizedMessage(), e);
}
}
private class PhotoUploadResponseHandler implements ResponseHandler<Object> {
@Override
public Object handleResponse(HttpResponse response)
throws ClientProtocolException, IOException {
HttpEntity r_entity = response.getEntity();
String responseString = EntityUtils.toString(r_entity);
Log.d("UPLOAD", responseString);
return null;
}
}
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】enctype='multipart/form-data'とはどういう意味ですか?
-
[解決済み] application/x-www-form-urlencoded or multipart/form-data?
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTTP フォームから MultipartEntityBuilder 経由でファイルをアップロードする(プログレスバー付き)。
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] HttpPostによる画像送信
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] Android - Snackbar vs Toast - 使い方と違い。
-
[解決済み] PendingIntentの "requestCode "は何に使うのですか?
-
[解決済み] 実行に失敗しました app:processDebugResources Android Studio
-
[解決済み] <string> XMLで改行やタブを作るには(eclipse/android)?
-
[解決済み] AndroidでVolleyを使ってmultipart/form-dataのPOSTを送信する方法