下面的命令在java中的等价形式是什么:
curl -X POST -F "file=@$File_PATH"
我想用Java执行的请求是:
curl -X POST -F 'file=@file_path' http://localhost/files/
我试着:
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(_URL);
File file = new File(PATH);
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "bin");
mpEntity.addPart("userfile", cbFile);
httpPost.setEntity(mpEntity);
HttpResponse response = httpClient.execute(httpPost);
InputStream instream = response.getEntity().getContent();
1条答案
按热度按时间wgmfuz8q1#
我昨天偶然遇到了这个问题。下面是一个使用Apache http库的解决方案。
根据需要设置filePath和url。如果你使用的不是文件,你可以用ByteArrayBody、InputStreamBody或StringBody替换FileBody。我的特殊情况需要ByteArrayBody,但上面的代码适用于文件。