java仿form表单提交数据
来源:互联网 发布:mac电脑硬盘分区丢失 编辑:程序博客网 时间:2024/05/17 05:02
import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;public class TestUploadPhoto {public int send(String url, String filePath) throws IOException {File file = new File(filePath);if (!file.exists() || !file.isFile()) {return -1;}/*** * 第一部分*/URL urlObj = new URL(url);HttpURLConnection con = (HttpURLConnection) urlObj.openConnection();/*** * 设置关键值*/con.setRequestMethod("POST"); // 以Post方式提交表单,默认get方式con.setDoInput(true);con.setDoOutput(true);con.setUseCaches(false); // post方式不能使用缓存// 设置请求头信息con.setRequestProperty("Connection", "Keep-Alive");con.setRequestProperty("Charset", "UTF-8");// 设置边界String BOUNDARY = "----------" + System.currentTimeMillis();con.setRequestProperty("Content-Type", "multipart/form-data; boundary="+ BOUNDARY);// 请求正文信息OutputStream out = new DataOutputStream(con.getOutputStream());//拼接数据StringBuilder sb1 = new StringBuilder();sb1.append("--"); // ////////必须多两道线sb1.append(BOUNDARY);sb1.append("\r\n");sb1.append("--").append(BOUNDARY).append("\r\n").append("Content-Disposition: form-data; name=\"userid\";").append("\r\n\r\n12").append("\r\n");//.append("\r\n\r\n12").append("/r/n").append("--").append(BOUNDARY).append("/r/n"); byte[] head1 = sb1.toString().getBytes("utf-8");out.write(head1);//out.write(("\r\n--" + BOUNDARY + "--\r\n").getBytes("utf-8"));//拼接数据结束// 第一部分:StringBuilder sb = new StringBuilder();//sb.append("--").append(BOUNDARY).append("\r\n").append("Content-Disposition: form-data; name=\"").append("userid").append("\"/r/n/r/n").append( //"12").append("/r/n"); sb.append("--"); // ////////必须多两道线sb.append(BOUNDARY);sb.append("\r\n");sb.append("Content-Disposition: form-data;name=\"pic\";filename=\""+ file.getName() + "\"\r\n").append("Content-Type:application/octet-stream\r\n\r\n");byte[] head = sb.toString().getBytes("utf-8");// 获得输出流//OutputStream out = new DataOutputStream(con.getOutputStream());out.write(head);// 文件正文部分DataInputStream in = new DataInputStream(new FileInputStream(file));int bytes = 0;byte[] bufferOut = new byte[1024];while ((bytes = in.read(bufferOut)) != -1) {out.write(bufferOut, 0, bytes);}in.close();// 结尾部分byte[] foot = ("\r\n--" + BOUNDARY + "--\r\n").getBytes("utf-8");// 定义最后数据分隔线out.write(foot);out.flush();out.close();/*** * 读取服务器响应,必须读取,否则提交不成功*///return con.getResponseCode();return con.getResponseCode();/*** * 下面的方式读取也是可以的*/// try {// // 定义BufferedReader输入流来读取URL的响应// BufferedReader reader = new BufferedReader(new InputStreamReader(// con.getInputStream()));// String line = null;// while ((line = reader.readLine()) != null) {// System.out.println(line);// }// } catch (Exception e) {// System.out.println("发送POST请求出现异常!" + e);// e.printStackTrace();// }}public static void main(String[] args) throws IOException {TestUploadPhoto up = new TestUploadPhoto();System.out.println(up.send("http://192.168.1.100:8080/5aiyointerface/photo/uploadphoto.do","D:\\guide04.jpg")); }}
阅读全文
0 0
- java仿form表单提交数据
- form 表单提交数据
- form表单提交返回数据
- ajax提交form表单数据
- Java 模拟form表单提交
- Java模拟Form表单提交
- java模拟提交form表单
- 用java模拟html表单(form)提交数据包含多文件上传表单提交。
- java 提交数据表单
- FORM表单提交大量数据溢出问题
- Flex form 提交list数据表单
- 用ajax提交form表单所有数据
- Form表单Ajax系列化提交数据
- form表单提交数据显示乱码
- 表单Form提交数据和PHP数据处理
- 《纪录遗忘》form表单action提交数据
- form表单提交数据丢失问题
- Form表单提交数据不跳转
- 二维扫码平台经济开启,湖南中烟搭乘“顺风车”
- 系统虚拟机的快照 镜像
- 【POJ
- Android Studio——配置OpenCV的方法及灰度化demo范例
- 几种方式的java发送http请求的代码汇总
- java仿form表单提交数据
- 创业和投资是个“圈” 腾讯众创空间Open Day分享硅谷秘密项目
- igo平衡车:设计巧夺天工,代驾司机新宠儿
- 腾讯WiFi管家上线仅十日 直逼APP Store榜前十
- 从创客空间到市场领先:无限可能,改变世界
- 小年微信狂下红包雨 腾讯红包闹钟可秒抢
- Android利用BottomNavigationView默认底部导航去掉滑动隐藏效果
- 基于Plot.ly Dash 使用 Python 开发交互式互动数据图
- 区间dp理解 添加最少的括号使得括号字符串匹配