0

我想将相机捕获的图像发送到创建 blob 密钥的服务器。我不知道如何将该图像发送到服务器。图像以哪种格式发送?

我正在尝试通过HttpParams.

这是我的代码,但数据不会发送到服务器。问题是什么?

String name=tname.getText().toString();
String addr=taddr.getText().toString();
String age=tage.getText().toString();
String cnct=tcnct.getText().toString();
String gen=tgen.getText().toString();
String wtm=twtm.getText().toString();
ba1=Base64.encodeToString(imageform, 0);
Date d=new Date();
String date=d.toString();

InputStream i1;
String back="";
HttpParams p=new BasicHttpParams();

p.setParameter("vname",name);
p.setParameter("address", addr);
p.setParameter("age", age);
p.setParameter("contact", cnct);
p.setParameter("gender", gen);
p.setParameter("whomto", wtm);

p.setParameter("myFile", ba1);

try {
    HttpClient httpclient = new DefaultHttpClient(p);

    HttpPost res=new HttpPost(result);
    HttpResponse response = httpclient.execute(res);

    HttpEntity entity = response.getEntity();
    i1 = entity.getContent();
    BufferedReader reader = new BufferedReader(new InputStreamReader(i1,"iso-8859-1"),8);
    StringBuilder sb = new StringBuilder();


    if ( reader.readLine() == null) {
        Log.e("inside if","No data");
    } else {
        String line = reader.readLine();
        i1.close();
        back=sb.toString();
    }

我没有收到任何错误或异常。

4

2 回答 2

0

使用 , 将图像编码Base64为 aString并使用MultipartEntity. 在 php 中检索字符串并将其解压缩base64_decode到图像中。检查这个问题: https ://stackoverflow.com/questions/10145417/android-send-image-through-http-post

于 2012-08-03T08:06:27.823 回答
0

您应该制作一个MultipartPost并将文件添加到您的文件中MultipartEntity,如下所示:

 multipartEntity.addPart("data", new FileBody(capturedImagePath));

你应该看看这个答案Multipart post with Android以获得更详细的答案。

于 2012-08-03T07:49:11.567 回答