HTTP发送文件 工具类
package com.joyveb.state.utils;
import java.io.File;
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.FileEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
?* HTTP CLIENT 工具类
?*
?* @author machijie
?*
?*/
public class HTTPClientUtil {
??? private static Logger log = LoggerFactory.getLogger(HTTPClientUtil.class);
??? /**
??? ?* 上传文件
??? ?*
??? ?* @param url
??? ?*??????????? http地址
??? ?* @param fileName
??? ?*??????????? 文件路径名称
??? ?* @throws Exception
??? ?*/
??? public static void postFile(String url, String fileName) throws Exception {
??? ??? log.info("Ready Post File:[{}] Url:[{}]", fileName, url);
??? ??? HttpClient httpclient = new DefaultHttpClient();
??? ??? HttpPost httppost = new HttpPost(url);
??? ??? File file = new File(fileName);
??? ??? if (file.exists() == false) {
??? ??? ??? throw new Exception("File:[" + fileName + "]存在");
??? ??? }
??? ??? FileEntity fileEntity = new FileEntity(new File(fileName), "UTF-8");
??? ??? httppost.addHeader("Content-Type", "text/xml");
??? ??? httppost.setEntity(fileEntity);
??? ??? try {
??? ??? ??? HttpResponse response = httpclient.execute(httppost);
??? ??? ??? HttpEntity entity = response.getEntity();
??? ??? ??? log.info("Post File:[{}] Url:[{}] Return StatusCode:[{}]",
??? ??? ??? ??? ??? new String[] { fileName, url,
??? ??? ??? ??? ??? ??? ??? response.getStatusLine().toString() });
??? ??? ??? if (entity != null) {
??? ??? ??? ??? log.info("Response content length: "
??? ??? ??? ??? ??? ??? + entity.getContentLength());
??? ??? ??? }
??? ??? ??? EntityUtils.consume(entity);
??? ??? } catch (Exception e) {
??? ??? ??? log.error("Post File:[" + fileName + "] Url:[" + url + "]", e);
??? ??? } finally {
??? ??? ??? httpclient.getConnectionManager().shutdown();
??? ??? }
??? }
??? public static void main(String[] args) throws Exception {
??? ??? HTTPClientUtil
??? ??? ??? ??? .postFile(
??? ??? ??? ??? ??? ??? "http://192.168.3.205:8080/genlotmediator/tjaccepter?gameid=4&periodnum=123456",
??? ??? ??? ??? ??? ??? "d:/test1.txt");
??? }
}