2012-08-14 34 views

回答

1

創建SimpleMultipartEntity對象併爲每個要上傳的文件調用addPart。

+0

它沒有工作..這只是合併了第二個文件到第一個.. – 2012-08-17 05:56:26

+1

我想補充兩個文件爲相同的鍵..可能這就是爲什麼這種方法將它們合併 – 2012-08-17 06:01:31

+0

有你能解決這個問題嗎?請分享 – 2012-09-07 00:59:22

-1

您應使用此代碼:

public static void fileUpLoad(String url,File file,AsyncHttpResponseHandler asyncHttpResponseHandler){ 
    RequestParams requestParams=new RequestParams(); 

    try{ 
     requestParams.put("profile_picture", file,"application/octet-stream"); 
     client.post(url, requestParams, new AsyncHttpResponseHandler()); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

該請求是多部分上傳。 – 2016-01-27 04:22:28

3

你可以通過一個文件陣列作爲文件的鍵值。 爲了做到這一點,按照以下的代碼:

File[] myFiles = { new File("pic.jpg"), new File("pic1.jpg") }; 
RequestParams params = new RequestParams(); 
try { 
    params.put("profile_picture[]", myFiles); 
} catch(FileNotFoundException e) { 

} 

的方法,另外,如果要動態數組,可以用一個ArrayList ,並轉換爲文件[]類型與方法.toArray()

ArrayList<File> fileArrayList = new ArrayList<>(); 

//...add File objects to fileArrayList 

File[] files = new File[fileArrayList.size()]; 
fileArrayList.toArray(files); 

希望得到這個幫助。 = D

+0

我在這裏有一個問題:我完全按照上面所述,但onSuccess CallBack不會被調用。當我上傳7個文件[圖像]時,我只能看到一個圖像,其餘的都是空白的。然而,這適用於4個文件,但成功的回調永遠不會收到。 – 2016-05-04 04:43:18

0

您應該將所有文件作爲參數傳遞給params。例如:

params.put("file_one", myFiles1); 
params.put("file_two", myFiles2) 
0

File [] files = lst.toArray(new File [lst.size()]);

try { 
     params.put("media[]", files); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    }