Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用“多部分”将图像上载到服务器;“关键值”;格式_Android_Json_Multipartform Data - Fatal编程技术网

Android 使用“多部分”将图像上载到服务器;“关键值”;格式

Android 使用“多部分”将图像上载到服务器;“关键值”;格式,android,json,multipartform-data,Android,Json,Multipartform Data,我正在尝试上载包含一些数据的图像,例如我希望以键值格式发送数据: (键为image)-{“image”,image} (键是用户名)-{“用户名”abc@abc.com“} 但在这里上传图像时,服务器端编码是“多部分”的,有人能建议我如何使用这个键值json格式发送多部分格式的图像吗 这是我的申请表: String lineEnd = "\r\n"; String twoHyphens = "--"; String boundary = "xxxxxxxx"; String EndBoundar

我正在尝试上载包含一些数据的图像,例如我希望以键值格式发送数据:

(键为image)-{“image”,image} (键是用户名)-{“用户名”abc@abc.com“}

但在这里上传图像时,服务器端编码是“多部分”的,有人能建议我如何使用这个键值json格式发送多部分格式的图像吗

这是我的申请表:

String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "xxxxxxxx";
String EndBoundary = "";

String str = twoHyphens + boundary + lineEnd;
String str2 = "Content-Disposition: form-data; name=\"username\"";
String str3 = "abc@abc.com";
String str4 = "Content-Disposition: form-data; name=\"imgName\"";
String str5 = "Content-Type: image/jpeg";
String str6 = twoHyphens + boundary + twoHyphens;

StrTotal = str + str2 + "\r\n" + str3 + "\r\n" + str
            + str4 + "\r\n" + str5 + "\r\n"+"\r\n"+ encodedImage + "\r\n" + str6;
这是多部分端代码,现在我想将其从json格式发送到服务器

List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("username", "abc@abc.com"));
param.add(new BasicNameValuePair("image", ???));
List param=new ArrayList();
参数添加(新的BasicNameValuePair(“用户名”)abc@abc.com"));
参数添加(新的BasicNameValuePair(“图像”、?);

这个参数值到服务器,但是如何用它发送多部分数据呢?

您可以这样做

    public void uploadUserPhoto(File image) {

    try {

        HttpPost httppost = new HttpPost("some url");

        MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);  
        multipartEntity.addPart("Title", new StringBody("Title"));
        multipartEntity.addPart("Nick", new StringBody("Nick"));
        multipartEntity.addPart("Email", new StringBody("Email"));
        multipartEntity.addPart("Description", new StringBody(Settings.SHARE.TEXT));
        multipartEntity.addPart("Image", new FileBody(image));
        httppost.setEntity(multipartEntity);

        mHttpClient.execute(httppost, new PhotoUploadResponseHandler());

    } catch (Exception e) {
        Log.e(ServerCommunication.class.getName(), e.getLocalizedMessage(), e);
    }
}
请看这里:可能重复的