Java模拟post实现图片上传
来源:互联网 发布:微信公众号树洞源码 编辑:程序博客网 时间:2024/05/17 20:22
public class Post { public static String readFileAsString(String fileName) throws Exception { FileInputStream fis = new FileInputStream(fileName); BufferedInputStream in = new BufferedInputStream(fis); byte buffer[] = new byte[256]; StringBuffer picStr=new StringBuffer(); BASE64Encoder base64=new BASE64Encoder(); while (in.read(buffer)>= 0){ picStr.append(base64.encode(buffer));//进行64位编码 } fis.close(); fis=null; in.close(); in=null; buffer=null; return picStr.toString(); } public static void main(String[] a) { try { File file=new File("G:\\图片\\loopwallpaper\\137.jpg"); //将文件读成字符串 String picString=readFileAsString(file.toString()); //URLEncode picString="&uname=yc&pwd=a&picdata="+URLEncoder.encode(picString, "UTF-8"); // form域的数据.form域的数据必须以链接形式发送 InetAddress addr = InetAddress.getByName("218.196.14.220"); // 建立连接 Socket socket =new Socket(addr,8080); String url="/JavaHttp/loginServlet.do"; // 创建数据提交数据流 DataOutputStream dos=new DataOutputStream(socket.getOutputStream()); String message="POST "+url+" HTTP/1.1\r\n" +"Host:localhost \r\n" +"Cache-Control:no-cache \r\n" +"User-Agent: MSIE6.0; \r\n" +"Content-Type:application/x-www-form-urlencoded \r\n" +"Content-Length: "+picString.length()+" \r\n\r\n" //报头以两个\n作为结束标志 +"Connection:Close \r\n\r\n"; //+"Connection: Keep-Alive \r\n\r\n"; message+=picString; byte buffer[]=message.getBytes(); dos.write(buffer); dos.flush(); // 创建web服务器响应的数据流 BufferedReader httpResponse = new BufferedReader(new InputStreamReader(socket.getInputStream(), "utf-8")); String lineStr = ""; while ((lineStr = httpResponse.readLine()) != null) { System.out.println(lineStr); } dos.close(); socket.close(); } catch (Exception e) { e.printStackTrace(); } }
}
public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); }public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("uname: "+request.getParameter("uname")); System.out.println("pwd: "+request.getParameter("pwd")); String picdata=request.getParameter("picdata"); BASE64Decoder base64=new BASE64Decoder(); //64位解码 byte[] buffer=base64.decodeBuffer(picdata); //写进文件 FileOutputStream fos=new FileOutputStream("D:\\photo.jpg"); fos.write(buffer); fos.flush(); fos.close(); fos=null; }
}
0 0
- Java模拟post实现图片上传
- Java模拟post实现图片上传
- java模拟post方式提交表单实现图片上传
- java模拟post方式提交表单实现图片上传
- 使用java模拟post协议实现图片上传
- php模拟post上传图片
- python 模拟post上传图片
- C# 模拟POST上传图片
- Java实现模拟QQ空间图片上传
- Java 后台模拟POST上传
- php http模拟POST提交上传图片
- CURL模拟post上传图片到七牛云
- java模拟post请求上传文件
- java后台模拟post接口上传
- HttpUploadFile模拟前台POST上传图片和后台获取上传图片并上传至服务器
- curl post模拟上传提交图片大全 整理版本
- java实现图片上传
- java 实现 图片上传
- Android4.4之后SD卡存储方案
- cf#Wunder Fund Round 2016 -B- Guess the Permutation-构造-乱搞
- 进制转换
- Linux下卸载keepalived
- java8 stream.map和stream.forEach
- Java模拟post实现图片上传
- Kinect for Windows中文网站
- eclipse搭建erlang开发环境
- cf#Wunder Fund Round 2016 -C - Constellation-计算几何-水题
- 关于jquery中resize用法
- 对象管理器 3种方法实现 struct、 vector、map
- Android之SharedPreferences详解与原理分析
- 线程名字
- java8 list match