1.客户端代码如下:
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
public class ClientMultipartFormPost {
public static void main(String[] args){
new ClientMultipartFormPost().initClass();
}
public void initClass(){
//1:创建一个httpclient对象
HttpClient httpclient = new DefaultHttpClient();
Charset charset = Charset.forName("UTF-8");//设置编码
try {
//2:创建http的发送方式对象,是GET还是post
HttpPost httppost = new HttpPost("http://localhost:8080/myhome/mypage/upOutRentHourse.do");
//3:创建要发送的实体,就是key-value的这种结构,借助于这个类,可以实现文件和参数同时上传,很简单的。
MultipartEntity reqEntity = new MultipartEntity();
FileBody bin = new FileBody(new File("C:/Users/kin.liufu.2GOTECH/Desktop/资料/Go.XML Message Protocol Specification (V2.88h).doc"));
FileBody bin1 = new FileBody(new File("C:/Users/kin.liufu.2GOTECH/Desktop/资料/Go.XML Message Protocol Specification (V2.88h).doc"));
StringBody comment = new StringBody("房子类型为三房一厅",charset);
ArrayList<FileBody> fileBodys = new ArrayList<>();
fileBodys.add(bin);
fileBodys.add(bin1);
addFileBodyPart("upLoadImage", fileBodys, reqEntity);
reqEntity.addPart(