importjavax.imageio.ImageIO;importjavax.imageio.ImageReader;importjavax.imageio.stream.ImageInputStream;importjava.io.ByteArrayOutputStream;importjava.io.DataOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.HttpURLConnection;importjava.net.SocketTimeoutException;importjava.net.URL;importjava.net.URLEncoder;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.Set;public classHttpPostUtil {
URL url;
HttpURLConnection conn;
String boundary= "--------httppost123";
Map textParams = new HashMap();
Map fileparams = new HashMap();
DataOutputStream ds;public HttpPostUtil(String url) throwsException {this.url = newURL(url);
}//重新设置要请求的服务器地址,即上传文件的地址。
public void setUrl(String url) throwsException {this.url = newURL(url);
}//增加一个普通字符串数据到form表单数据中
public voidaddTextParameter(String name, String value) {
textParams.put(name, value);
}//增加一个文件到form表单数据中
public voidaddFileParameter(String name, File value) {
fileparams.put(name, value);
}//发送数据到服务器,返回一个字节包含服务器的返回结果的数组
public byte[] send() throwsException {
initConnection();try{
conn.connect();
}catch(SocketTimeoutException e) {//something
throw newRuntimeException();
}
ds= newDataOutputStream(conn.getOutputStream());
writeFileParams();
writeStringParams();
paramsEnd();
InputStream in=conn.getInputStream();
ByteArrayOutputStream out=