版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/small__snail__5/article/details/88717456
在开发过程中,我需要调用另一文件上传接口,该接口要求是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();
}