2016-10-12 2 views
-2

Multipart-Entity-Datei wird mit Array von Dateien hochgeladen. Ich habe den folgenden Fehlercode erwähnt. Bitte helfen Sie mir, dieses Problem zu lösen. Ausnahme java.lang.ArrayIndexOutOfBoundsException: length = 2; Index = 2. Vielen Dank im Voraus.Upload von Multipart-Entity-Dateien java.lang.ArrayIndexOutOfBoundsException

Code:

try{ 
     int i = 0; 
     HttpEntity httpEntity = null; 
     HttpResponse httpResponse = null; 
     HttpClient httpClient = new DefaultHttpClient(); 
     int selectedImgLength = selectedItems.size(); 
     File[] mfile = new File[selectedImgLength]; 
     for(i = 0; i<selectedImgLength;i++){ 
      //mfile[i]= selectedItems.get(i);// Error InCompatiable type 
      mfile[i] = new File(selectedItems.get(i)); 
     } 
     HttpPost httpPost = new HttpPost(url); 
     MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create(); 
     entityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 
     entityBuilder.addPart("userfile[" + i + "]", new FileBody(mfile[i])); 
     HttpEntity entity = entityBuilder.build(); 
     httpPost.setEntity(entity); 

     httpResponse = httpClient.execute(httpPost); 
     httpEntity = httpResponse.getEntity(); 
     response = EntityUtils.toString(httpEntity); 
     System.out.println("POST IMAGE Response"+response); 
    }catch(Exception e){e.printStackTrace();} 
+0

Darf ich wissen, warum meine Frage nach unten abstimmen. Bitte geben Sie mir den Kommentar, es wird helfen, Fragen im Stapel zu verbessern. –

Antwort

1

wenn Sie das tun

entityBuilder.addPart("userfile[" + i + "]", new FileBody(mfile[i])); 

Sie haben bereits die for-Schleife und i verlassen hat, um selectedImgLength gleich groß geworden, daher erhalten Sie eine ArrayIndexOutOfBoundsException

Versuchen Sie, die Datei so zu ändern, dass sie innerhalb der for-Schleife zu entityBuilder hinzugefügt wird.

+0

Danke, Bruder, tut mir leid, ich habe einen großen Fehler gemacht. Danke für deine Beratung. Jetzt habe ich es behoben. –

Verwandte Themen