2016-09-16 3 views
2

Ich versuche, Array-Bilder mit anderen Methoden wie @PartMap oder @Part ("avatars_attributes []") an den Server zu senden. Aber ohne Ergebnis. Vielleicht kannst du mir helfen?Nachrüstung 2 Ein Array von Bildern an den Server senden

Für @PartMap I verwenden HashMap mit Inhalt:

 for(int i = 0; i < images.size(); i++){ 
       Bitmap btm = images.get(i); 
       ByteArrayOutputStream out = new ByteArrayOutputStream(); 
       btm.compress(Bitmap.CompressFormat.JPEG, 50, out); 
       byte[] profilePictureByte = out.toByteArray(); 
       final RequestBody imageBody = RequestBody.create(MediaType.parse("image/*"), profilePictureByte); 
       map.put("avatars_attributes[]\"; filename=\"avatars_attributes" + i + ".png\"",imageBody); 

und

@Multipart 
@POST(ApiRetrofitUrls.TRANSPORTS_URL) 
Call<TransportEntity> addTransport(@PartMap() Map<String, RequestBody> map); 

sondern auf dem Server nur leere Array empfangenen avatars_attributes [];

In einer anderen Art und Weise, verwende ich Arraylist mit RequestBody oder RequestBody [],

aber Ergebnis ist das einige.

Danke.

+0

können Sie den Server Anfrage Vertrag –

+0

seine Post-Anforderung und Parameter "avatars_attributes []" für Arrays von Bildern teilen –

Antwort

0

Versuchen Sie, diese

@POST(ApiRetrofitUrls.TRANSPORTS_URL) 
Call<TransportEntity> addTransport(@Body RequestBody data); 

MultipartBody.Builder builder = new MultipartBody.Builder(); 
    builder.setType(MultipartBody.FORM); 
    builder.addFormDataPart("content", textContent); 

    for(String filePath : imagePathList){ 
     File file = new File(filePath); 
     builder.addFormDataPart("avatars_attributes", file.getName(), 
       RequestBody.create(MediaType.parse("image/*"), file)); 
    } 

    MultipartBody requestBody = builder.build(); 
    Call<SocialCreateFeedResponse> call = mSocialClient.createFeeds(requestBody); 
Verwandte Themen