2016-11-15 2 views
0

Это код, я использую, чтобы прикрепить мое изображение с параметрами:Отправка изображения с параметрами в HTTPUrl

DataOutputStream request = new DataOutputStream(
         con.getOutputStream()); 
       if(bitmap!=null) 
       { 
        request.writeBytes(twoHyphens + boundary + crlf); 

        request.writeBytes("Content-Disposition: form-data; name=\"profile_picture\";filename=\"profile_picture.jpg\"" + crlf); 

        request.writeBytes("Content-Type: image/jpeg" + crlf); 
        request.writeBytes(crlf); 
        byte[] pixels = new byte[bitmap.getWidth() * bitmap.getHeight()]; 
        for (int i = 0; i < bitmap.getWidth(); ++i) { 
         for (int j = 0; j < bitmap.getHeight(); ++j) { 
          //we're interested only in the MSB of the first byte, 
          //since the other 3 bytes are identical for B&W images 
          pixels[i + j] = (byte) ((bitmap.getPixel(i, j) & 0x80) >> 7); 
         } 
        } 

        request.write(pixels);//your image array here buddy 
        request.writeBytes(crlf); 
        request.writeBytes(twoHyphens + boundary + crlf); 


        request.writeBytes(twoHyphens + boundary + crlf); 
        Set<Map.Entry<String, Object>> set=params.valueSet(); 
        Iterator itr = set.iterator(); 

        while (itr.hasNext()) { 
         Map.Entry me = (Map.Entry)itr.next(); 

         request.writeBytes("Content-Disposition: form-data; name=\""+me.getKey().toString()+"\"" + crlf); 
         request.writeBytes(crlf); 
         request.writeBytes(me.getValue().toString());//your parameter value 
         request.writeBytes(crlf); 
         request.writeBytes(twoHyphens + boundary + 
           crlf); 
        } 


        request.flush(); 
        request.close(); 


       } 

и я имею в виду this

если я не отправлять изображения, то значения отправляются на сервер отлично, если я добавляю изображение, то получаю, что текстовые параметры не могут быть отправлены.

ответ

0

для этого вам необходимо использовать MultipartEntity. с этим вы можете отправить multipart в запрос.

+0

MultipartEntity устарел, это я, я его не использую. –

+0

Из документов вы заметите, что в качестве альтернативы вы должны использовать MultipartEntityBuilder. –

+0

для справки. http://stackoverflow.com/questions/19196292/the-type-multipartentity-is-deprecated?answertab=active#tab-top –

Смежные вопросы