JAVA如何利用JSON能上传文件?

现在需要通过HTTP的POST请求实现文件发送的功能,其中发送的格式是通过JSON格式的,就是JSON里面携带的有其他参数,还有文件名和文件体,这个怎么实现?

String dataString = "{name:"filenanme",content:"contentStr"}";
JSONObject json = new JSONObject(dataString);

提供给你我写的片段代码。

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

// 执行远程call调用
Client client = ClientBuilder.newClient();
WebTarget call_target = client.target(callUrl);
Response response = call_target.request(MediaType.APPLICATION_JSON).post(
Entity.entity(excuteCallRequestJson, MediaType.APPLICATION_JSON));
// 获取响应Code
int responseCode = response.getStatus();
// 如果响应成功,则获取响应Json内容,并且将执行结果置成true
if (responseCode == 200) {
String excuteRespJson = response.readEntity(String.class);
context.setExcuteRespJson(excuteRespJson);
System.out.println("excute responseJson=====" + context.getExcuteRespJson());
}