Android 如何使用Volley使用多部分/表单数据上传文件
我的一个Android 如何使用Volley使用多部分/表单数据上传文件,android,android-volley,android-json,Android,Android Volley,Android Json,我的一个API使用multipart/formdata上传请求正文中的文件和文本。如何编写类似于邮递员的代码?VolleyMultipartRequest multipartRequest=new-VolleyMultipartRequest(Request.Method.POST,url,new-Response.Listener()){ VolleyMultipartRequest multipartRequest = new VolleyMultipartRequest(Request.M
API
使用multipart/formdata
上传请求正文中的文件和文本。如何编写类似于邮递员的代码?VolleyMultipartRequest multipartRequest=new-VolleyMultipartRequest(Request.Method.POST,url,new-Response.Listener()){
VolleyMultipartRequest multipartRequest = new VolleyMultipartRequest(Request.Method.POST, url, new Response.Listener<NetworkResponse>() {
@Override
public void onResponse(NetworkResponse response) {
String resultResponse = new String(response.data);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("api_token", "gh659gjhvdyudo973823tt9gvjf7i6ric75r76");
params.put("name", "Angga");
return params;
}
@Override
protected Map<String, DataPart> getByteData() {
Map<String, DataPart> params = new HashMap<>();
params.put("imageName", new DataPart("file_image.jpg", AppHelper.getFileDataFromDrawable(getBaseContext(), mAvatarImage.getDrawable()), "image/jpeg"));
return params;
}
};
VolleySingleton.getInstance(getBaseContext()).addToRequestQueue(multipartRequest);
@凌驾
public void onResponse(NetworkResponse){
String resultResponse=新字符串(response.data);
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
错误。printStackTrace();
}
}) {
@凌驾
受保护的映射getParams(){
Map params=新的HashMap();
参数put(“api_令牌”、“gh659gjhvdyudo973823tt9gvjf7i6ric75r76”);
参数put(“名称”、“Angga”);
返回参数;
}
@凌驾
受保护的映射getByteData(){
Map params=新的HashMap();
params.put(“imageName”,新的数据部分(“file_image.jpg”,AppHelper.getFileDataFromDrawable(getBaseContext(),mAvatarImage.getDrawable(),“image/jpeg”);
返回参数;
}
};
getInstance(getBaseContext()).addToRequestQueue(multipartRequest);
请尝试以下操作-此代码的可能副本没有任何说明或上下文。例如,您从哪里获取AppHelper?还是单打?如果你只是简单地复制和粘贴这段代码,它是不起作用的,所以你应该总是解释和分解你的答案。