2017-07-09 9 views
0

私は画像とドキュメントのファイルを私のサーバにアップロードするVolleyMultipartRequestコードを使っています。しかし、私は1つの問題を述べました:1つのリクエストでイメージとドキュメントのリストをサーバーに送信する必要があります。つまり、2つの画像と3つのdocファイルを選択し、「送信」ボタンを押すと、1つの要求のみを送信する必要があります。Volley Multipart Requestのリクエストのリスト

あなたは、このカスタム要求を使用getByteDataメソッドをオーバーライドして、コンテンツを送信することができます
//---------------------Map<String, String> 
       params.put("orientation", "P"); 
       params.put("margin", "5"); 
       params.put("type", "image"); 
       params.put("copies", "1"); 
       params.put("width", "" + 150); 
       params.put("height", "" + 150); 
//-----------------------Map<String, DataPart> 
       params.put("file", new DataPart("image1.jpg", AppHelper.getFileDataFromDrawable(getBaseContext(), new BitmapDrawable(getResources(), bitmapList.get(0))), "image/jpeg")); 

と私のJSON

file: File 
type: "image" 

答えて

0

:サーバーのためのparamsを送信し、JSONのための私のJavaコードの一部の下

バイト数。この例を確認し、それがオーバーライドgetByteDataにより、単一のリクエストで2つの異なるファイルを追加します:

https://gist.github.com/anggadarkprince/a7c536da091f4b26bb4abf2f92926594#file-volleymultipartrequest-java

@Override 
protected Map<String, DataPart> getByteData() { 
    Map<String, DataPart> params = new HashMap<>(); 
    // file name could found file base or direct access from real path 
    // for now just get bitmap data from ImageView 
    params.put("avatar", new DataPart("file_avatar.jpg", AppHelper.getFileDataFromDrawable(getBaseContext(), mAvatarImage.getDrawable()), "image/jpeg")); 
    params.put("cover", new DataPart("file_cover.jpg", AppHelper.getFileDataFromDrawable(getBaseContext(), mCoverImage.getDrawable()), "image/jpeg")); 

    return params; 
} 
関連する問題