java模拟post请求上传文件到另一远程接口(content-type:multipart/form-data)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
}

猜你喜欢

转载自blog.csdn.net/small__snail__5/article/details/88717456