Android HTTP multiipad/form-data要求プロトコル情報実現画像アップロード

1639 ワード


問題:Androidアプリケーションでは、ユーザー情報を記入したり、コメントを発表するなどの操作があり、「フォーム操作」(web form操作のようなもの)で画像をアップロードする機能が避けられない.この場合、Androidを使ったHTTPはPOSTとGETでは実現できない.解決方法:
Androidクライアントは、HTTP multiipad/form-dataをシミュレーションしてプロトコル情報を要求することで、画像のアップロードを実現します.
一、ファイルヘッダのタイプ
            Map head = new HashMap<>();
            head.put("Content-Type", "multipart/form-data");
二、画像コメントなどをファイルリストに入れる
以下は例を挙げて複数の画像をファイルに入れるだけです.
List fileList=new ArrayList();
for(int i=0;i
三、http依頼
    public  static void post_file( final String url, final Map head, final Map param, List files, String name, okhttp3.Callback callback) {
        OkHttpClient client = new OkHttpClient();
        // form       
        MultipartBody.Builder requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM);

        if (files != null) {
            for(int i=0;i