我使用VolleyMultipartRequest代码将图像和doc文件上传到我的服务器。但我提到了一个问题:我需要向我的服务器发送一个图像和文档列表。我的意思是,例如我选择2个图像和3个doc文件,按“发送”按钮我只需要发送一个请求。
我的Java代码发送部分和服务器的JSON参数:
//---------------------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 :(得分:0)
您可以使用此自定义请求,覆盖getByteData方法并将您的内容作为字节发送。检查此示例,它通过覆盖getByteData在一个请求中附加两个不同的文件:
@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;
}