- 浏览: 79433 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
尹超5200:
你TM写点文字能死啊
java图片上传回显(火狐待测) -
shibin_1109:
如果冲突没更新下来的话也可以使用git同步来解决.
Eclips GIT冲突解决
package com.yanek.util; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import javax.activation.MimetypesFileTypeMap; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class HttpPostUploadUtil { /** * @param args */ public static void main(String[] args) { String filepath="E:\\ziliao\\0.jpg"; String urlStr = "http://127.0.0.1:8080/minicms/up/up_result.jsp"; Map<String, String> textMap = new HashMap<String, String>(); textMap.put("name", "testname"); Map<String, String> fileMap = new HashMap<String, String>(); fileMap.put("userfile", filepath); String ret = formUpload(urlStr, textMap, fileMap); System.out.println(ret); } /** * 上传图片 * * @param urlStr * @param textMap * @param fileMap * @return */ public static String formUpload(String urlStr, Map<String, String> textMap, Map<String, String> fileMap) { String res = ""; HttpURLConnection conn = null; String BOUNDARY = "---------------------------123821742118716"; //boundary就是request头和上传文件内容的分隔符 try { URL url = new URL(urlStr); conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5000); conn.setReadTimeout(30000); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); conn.setRequestMethod("POST"); conn.setRequestProperty("Connection", "Keep-Alive"); conn .setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.6)"); conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY); OutputStream out = new DataOutputStream(conn.getOutputStream()); // text if (textMap != null) { StringBuffer strBuf = new StringBuffer(); Iterator iter = textMap.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); String inputName = (String) entry.getKey(); String inputValue = (String) entry.getValue(); if (inputValue == null) { continue; } strBuf.append("\r\n").append("--").append(BOUNDARY).append( "\r\n"); strBuf.append("Content-Disposition: form-data; name=\"" + inputName + "\"\r\n\r\n"); strBuf.append(inputValue); } out.write(strBuf.toString().getBytes()); } // file if (fileMap != null) { Iterator iter = fileMap.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); String inputName = (String) entry.getKey(); String inputValue = (String) entry.getValue(); if (inputValue == null) { continue; } File file = new File(inputValue); String filename = file.getName(); String contentType = new MimetypesFileTypeMap() .getContentType(file); if (filename.endsWith(".png")) { contentType = "image/png"; } if (contentType == null || contentType.equals("")) { contentType = "application/octet-stream"; } StringBuffer strBuf = new StringBuffer(); strBuf.append("\r\n").append("--").append(BOUNDARY).append( "\r\n"); strBuf.append("Content-Disposition: form-data; name=\"" + inputName + "\"; filename=\"" + filename + "\"\r\n"); strBuf.append("Content-Type:" + contentType + "\r\n\r\n"); out.write(strBuf.toString().getBytes()); 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[] endData = ("\r\n--" + BOUNDARY + "--\r\n").getBytes(); out.write(endData); out.flush(); out.close(); // 读取返回数据 StringBuffer strBuf = new StringBuffer(); BufferedReader reader = new BufferedReader(new InputStreamReader( conn.getInputStream())); String line = null; while ((line = reader.readLine()) != null) { strBuf.append(line).append("\n"); } res = strBuf.toString(); reader.close(); reader = null; } catch (Exception e) { System.out.println("发送POST请求出错。" + urlStr); e.printStackTrace(); } finally { if (conn != null) { conn.disconnect(); conn = null; } } return res; } }
原文出处:http://blog.csdn.net/5iasp/article/details/8669644
发表评论
-
java注解详解
2014-09-22 10:12 701Java中提供了四种元注解,专门负责注解其他的注解,分别如下 ... -
log4j配置文件详解
2014-09-03 16:57 689在实际编程时,要使Log4 ... -
java获取请求用户的ip
2014-09-03 10:48 966/** * 获取请求用户的Ip * @par ... -
java常见的错误
2014-07-31 11:28 585原来见过的一些常见错 ... -
jsp中request详解
2014-07-28 15:10 674System.out.println("Protoc ... -
redis命令总结
2014-07-22 14:27 906public class Redis2 { priva ... -
深入理解JVM 内存模型
2014-07-21 10:54 677http://gotowqj.iteye.com/blog/2 ... -
java拷贝文件
2014-07-17 18:04 609package com.zuidaima.util.fil ... -
java对redis的操作
2014-07-17 17:59 563http://xuelianbobo.iteye.com/bl ... -
java中String Date Timestamp Calendar 之间的关系及转换
2014-07-17 17:34 604SimpleDateFormat sdf = new Simp ... -
java面试三大框架
2014-07-17 16:22 1231------------------------------- ... -
算法,java实现选择排序
2014-06-19 22:57 652一、基本思路: 选择排序和冒泡排序差不多,只是冒泡排序在发 ... -
算法,java实现冒泡排序
2014-06-19 22:54 719一、基本思路: 冒泡排序是一种简单的交换类排序。其基本思路是 ... -
java使用正则判断字符串
2014-06-16 11:19 393String str="http://www.jb5 ... -
struts2和springmvc比较
2014-06-12 00:14 583我们用struts2时采用的传统的配置文件的方式,并没有使用传 ... -
hibernate和mybatis的区别
2014-06-11 23:53 906以前没怎么用过mybatis,只知道与hibernate一样是 ... -
map的四种遍历方法
2014-06-11 23:20 613public static void main(String[ ... -
java遍历文件夹
2014-04-18 15:25 610使用递归: import java.io.File; ... -
javahttp请求
2014-04-17 17:55 627package com.expai.utils; i ... -
java下载文件可打包
2014-04-15 18:16 1167打包下载 //定义下载保存的文件名称 StringB ...
相关推荐
HttpClient是一个功能丰富的HTTP客户端编程工具包,它允许Java开发者以编程的方式执行HTTP请求,包括模拟POST提交。这个库不仅支持基本的HTTP协议,还提供了处理cookies、重定向、管理连接池等高级功能。 在使用...
这样,我们就完成了从Java程序中模拟POST提交表单并上传图片的过程。服务器端(如up_result.jsp)接收到这些数据后,通常会处理上传的文件,比如保存到服务器的某个目录,并可能返回一些响应信息。 总的来说,这个...
本篇将详细探讨Java处理文件上传的底层实现,以及如何使用Java模拟POST协议来实现文件上传。 首先,我们需要理解文件上传的基本原理。在HTTP协议中,文件上传通常通过POST请求进行。当用户在表单中选择文件并提交时...
在Java Web开发中,表单上传是常见的功能之一,尤其是当用户需要上传多个文件时。本文将详细讲解如何实现这个功能,主要涉及HTML表单、Servlet、MVC框架(如Spring MVC)以及文件处理的相关知识。 1. HTML表单设置...
在本文中,我们将深入探讨如何在VC++ MFC环境下构建一个HTTP协议数据的POST上传图片类,同时模拟表单提交。这个过程涉及到的关键技术包括HTTP POST请求、编码转换以及MFC类库的使用。 首先,我们需要理解HTTP POST...
在本文中,我们将深入探讨如何通过模拟POST表单上传文件到服务器,这是一项常见的任务,尤其在开发Web应用程序时。我们将涵盖客户端如何构建请求以及服务器如何接收和处理这些请求。 首先,让我们理解POST请求的...
这里的关键点是通过字符串拼接的方式构建完整的HTML表单,并设置了表单提交的目标地址`action="http://test.chinapnr.com/gar/RecvMerchant.do"`、提交方式`method="post"`以及一系列的隐藏字段。 ### 2. 使用Java...
在某些场景下,我们需要模拟POST请求来与服务器进行数据交互,这通常是HTTP协议中的一个方法,用于发送数据到服务器以创建或更新资源。在描述中提到的,我们将探讨如何使用Selenium来封装POST参数并提交,以获取异步...
综上所述,Java模拟登录结合OCR技术可以实现自动化登录过程,提高工作效率。通过tess4j库,我们可以方便地识别和处理验证码,使得这个过程更加完整和实用。在开发过程中,理解HTTP协议、掌握相关库的使用以及熟悉OCR...
以上就是关于“JAVA模拟http上传文件”的核心知识点。通过理解并实践这些概念,开发者可以构建出稳定、高效的文件上传功能。在实际项目中,还可以结合Spring框架或其他Web库,简化文件上传的实现。
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
在一个Web应用中,经常需要实现用户能够在一个表单中上传多个文件及文本信息的功能。本文将详细介绍如何在基于Tomcat5.0.30与Spring Framework的环境下实现这一功能。 ### 一、背景介绍 在实际开发过程中,很多...
这个“java模拟微信浏览器访问.rar”压缩包中的主要文件是“MonitorWeixinBrowser.java”,我们可以推测这是一个Java程序,用于模拟微信内置浏览器的行为。下面将详细介绍这个主题的相关知识点。 1. **Java HTTP ...
在Java Web开发中,实现一个模拟数据导入或文件上传进度条功能可以极大提升用户体验,让用户在等待过程中心中有数。这个功能通常涉及到前端与后端的交互,涉及到的技术包括Servlet、JSP、jQuery和Ajax。下面我们将...
POST方法常用于向服务器提交数据,如表单提交。HttpUtils工具类中,POST请求的实现可能如下: ```java public static String sendPost(String url, Map, String> params) { // 参数处理 // ... // 使用...
在Java中,我们可以通过以下步骤使用HttpClient来模拟POST表单提交: 1. 引入依赖:确保你的项目中已经引入了Apache HttpClient库。通常,这可以通过Maven或Gradle的依赖管理实现。例如,在Maven中,可以在pom.xml...
通过js模拟post提交 1:请求需要的参数过长,超过get允许的最大长度 2:想要隐藏地址栏的参数 //新创建一个form表单 [removed]('<form name=myForm></form>'); var myForm=document.forms['myForm']; ...
在HTTP中,文件上传通常使用POST方法,通过表单数据或者Multipart/form-data编码来发送。这种编码方式允许我们同时发送文本数据和二进制文件,是HTTP文件上传的标准。 在Java中,我们可以使用多种库来实现HTTP文件...
本项目名为"Java模拟登录百度Demo",旨在通过Java编程语言实现对百度网站的自动登录功能。在这个教程中,我们将深入探讨如何使用Java来完成这一目标。 首先,模拟登录的核心是发送HTTP请求。在Java中,我们可以使用...