从android volley发送byte []到asp.net mvc

时间:2016-08-30 05:07:46

标签: android asp.net-mvc file-upload android-volley

我正在尝试将图像从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

任何帮助?

0 个答案:

没有答案