我正在尝试将图像从android上传到asp.net mvc webapp。我有以下代码在android部分上传图片 -
public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
return encodedImage;
}
private String UPLOAD_URL ="UploadSignature?id=1";
private String KEY_IMAGE = "image";
private String KEY_NAME = "name";
private Bitmap bitmap;
private void uploadImage(){
StringRequest stringRequest = new StringRequest(Request.Method.POST, UPLOAD_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
String image = getStringImage(bitmap);
String name = "firstImage";
Map<String,String> params = new Hashtable<String, String>();
params.put(KEY_IMAGE, image);
params.put(KEY_NAME, name);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
在asp.net mvc控制器中 -
[HttpPost]
public ActionResult UploadSignatureTwo(byte[] Data)
{
System.IO.File.WriteAllBytes( @"D:\test.jpg", Data);
}
但它说Data can not be null
。
任何帮助?