HttpURLConnection post 发送参数及图片 及接收测试

1、发送数据

String urlstr="http://10.21.38.103/testAction!test.action?kkbh="+kkbh; 
URL url = new URL(urlstr);
		HttpURLConnection huc=(HttpURLConnection)url.openConnection();   
	

		huc.setRequestProperty("content-type", "text/html");
		huc.setRequestProperty("Content-Type","image/jpeg");
		huc.setDoOutput(true);
		huc.setDoInput(true);
		huc.setRequestMethod("POST");         
		huc.setConnectTimeout(500000);		
		OutputStream pw=huc.getOutputStream();
		pw.write(fileData);  
		pw.flush();
		pw.close();   
		BufferedReader br=new BufferedReader(new InputStreamReader(huc.getInputStream()));   


2、接收数据

package modules.action;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;

import modules.request.TestReq;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component("testAction")
@Scope("prototype")
public class TestAction extends TestReq {
	private static final Logger logger = LoggerFactory.getLogger(TestAction.class);
	private static final long serialVersionUID = 1L;
	protected String kkbh= "";
	protected String fxlx= "";
	protected String cdh= "";
	protected String hphm= "";
	protected String gcsj= "";

	/**
	 * 查询
	 * @return
	 */
	public void test() {
		
	//	logger.info(kkbh);

		//getResponse().setContentType("Content-Type: text/plain;charset=UTF-8");
		getResponse().setContentType("Content-Type: text/html; charset=UTF-8");
		getResponse().setCharacterEncoding("UTF-8");
		getResponse().setHeader("pragma", "no-cache");   
		getResponse().setHeader("Content-Type", "text/plain;charset=UTF-8");  
		getResponse().setHeader("cache-control", "no-cache");
		try {
			final PrintWriter out=getResponse().getWriter();
			out.write("success");

		Enumeration<String> name = getRequest().getParameterNames();
		while(name.hasMoreElements()) {
			String myName = name.nextElement();
			if(myName.length()<=0)continue;
			out.write(myName+"="+getRequest().getParameter(myName));
			logger.info(myName+"="+getRequest().getParameter(myName));
		}
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 
			try {
				  InputStream inStream = getRequest().getInputStream();
				     downlodeImagelocal(inStream);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
		     
	}

	/**
	 * @Description:下载图片图片到默认路径
	 * @author zhangguoli2
	 */
	public    String downlodeImagelocal( InputStream tis) {
		StringBuilder pictureName;
//		InputStream tis = null;
		pictureName = new StringBuilder();
		OutputStream outZos = null;
		String localurl = "";
  if(null==tis)return "";
		try {
			pictureName.append(getCurrentDatetimeString() + "uploadpic.jpg");

			localurl = "E:\\images\\" + pictureName.toString();

			File outFile = new File(localurl);
			outZos = new FileOutputStream(outFile);
//			tis = downLoadPicture(picurl);
			//	tis =getImageFromNetByUrl(picurl);
			// 创建缓冲区
			byte[] buffer = new byte[1024];
			int len = 0;
			while ((len = tis.read(buffer)) != -1) {
				outZos.write(buffer, 0, len);
			}
			return localurl;
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (null != tis) {
					tis.close();
				}
				outZos.flush();
				outZos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return localurl;
	}
	/**
	 * 获取当前时间字符串,格式:"yyyy-MM-dd HH:mm:ss"
	 * 
	 * @return 时间字符串
	 */
	public  String getCurrentDatetimeString() {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_ddHH_mm_ss");
		Date curDate = new Date(System.currentTimeMillis()); // 获取当前时间
		return formatter.format(curDate);
	}
	public String getKkbh() {
		return kkbh;
	}

	public void setKkbh(String kkbh) {
		this.kkbh = kkbh;
	}

	public String getFxlx() {
		return fxlx;
	}

	public void setFxlx(String fxlx) {
		this.fxlx = fxlx;
	}

	public String getCdh() {
		return cdh;
	}

	public void setCdh(String cdh) {
		this.cdh = cdh;
	}

	public String getHphm() {
		return hphm;
	}

	public void setHphm(String hphm) {
		this.hphm = hphm;
	}

	public String getGcsj() {
		return gcsj;
	}

	public void setGcsj(String gcsj) {
		this.gcsj = gcsj;
	}
	

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值