在開發過程中,我需要調用另一文件上傳接口,該接口要求是post提交,content-type:multipart/form-data,因此首先將文件寫入本地存儲路徑,並將該文件按照post傳輸,代碼如下,親測成功:
public static String sendPostWithFile(File lrcFile, String urlStr) throws Exception{
String BOUNDARY = java.util.UUID.randomUUID().toString();
MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, "--------------------"+BOUNDARY, Charset.defaultCharset());
multipartEntity.addPart("lyricsUpload", new FileBody(lrcFile)); //lyricsUpload文件名
HttpPost request = new HttpPost(urlStr); //遠程接口
request.setEntity(multipartEntity);
request.addHeader("Content-Type", "multipart/form-data; boundary=--------------------"+BOUNDARY);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
InputStream is = response.getEntity().getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null) {
buffer.append(line);
}
System.out.println("發送消息收到的返回:"+buffer.toString());
return buffer.toString();
}