HttpURLConnection上传文件
HttpURLConnection上传文件
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.URL; import sun.net.www.protocol.http.HttpURLConnection;
/**
* 主要实现文件上传,和接收方绑定接收后信息导入参数传递
* @author zyb
*
*/
public class HttpURLConnectionServices {
/**
* @param fileName 要上传的文件,列:e:/upload/SSD4k对齐分区.zip
* @param Url 上传路径端口号和项目名称,列:http://192.168.1.209:9080/gjbmj
* @param strSiteID 对方的站点编号
* @param strColumnID 对方的栏目编号
* @param strDespatcher 发送信息人
* @param strMechanism 发送信息机构
* @param strOther1
*/
public static void post(String fileName ,String Url,String strSiteID,String strColumnID,
String strDespatcher,String strMechanism,String strOther1) {
try {
String fname =fileName;//要上传的文件
File file = new File(fname);
URL url = new URL(Url+"/cms/infoShare/httpURLConnection.jsp");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setChunkedStreamingMode(1024 * 1024);
conn.setRequestMethod("POST");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("Charsert", "UTF-8");
conn.setConnectTimeout(50000);
conn.setRequestProperty("Content-Type", "multipart/form-data;file="+ file.getName());
conn.setRequestProperty("fileName",file.getName());
conn.setRequestProperty("strSiteID", strSiteID);
conn.setRequestProperty("strColumnID", strColumnID);
conn.setRequestProperty("strDespatcher", strDespatcher);
conn.setRequestProperty("strMechanism", strMechanism);
conn.setRequestProperty("strOther1", strOther1);
conn.connect();
OutputStream out = new DataOutputStream(conn.getOutputStream());
DataInputStream in = new DataInputStream(new FileInputStream(file));
int bytes = 0;
byte[] bufferOut = new byte[2048];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
in.close(); out.flush();
out.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println("---line---"+line);
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
new File(fileName).delete();
}
} }
HttpURLConnection上传文件的更多相关文章
- java http工具类和HttpUrlConnection上传文件分析
利用java中的HttpUrlConnection上传文件,我们其实只要知道Http协议上传文件的标准格式.那么就可以用任何一门语言来模拟浏览器上传文件.下面有几篇文章从http协议入手介绍了java ...
- Android端通过HttpURLConnection上传文件到服务器
Android端通过HttpURLConnection上传文件到服务器 一:实现原理 最近在做Android客户端的应用开发,涉及到要把图片上传到后台服务器中,自己选择了做Spring3 MVC HT ...
- Android端通过HttpURLConnection上传文件到server
Android端通过HttpURLConnection上传文件到server 一:实现原理 近期在做Androidclient的应用开发,涉及到要把图片上传到后台server中.自己选择了做Sprin ...
- Java使用HttpURLConnection上传文件
从普通Web页面上传文件非常easy.仅仅须要在form标签叫上enctype="multipart/form-data"就可以,剩余工作便都交给浏览器去完毕数据收集并发送Http ...
- Java使用HttpURLConnection上传文件(转)
从普通Web页面上传文件很简单,只需要在form标签叫上enctype="multipart/form-data"即可,剩余工作便都交给浏览器去完成数据收集并发送Http请求.但是 ...
- HttpClient MultipartEntityBuilder 上传文件
文章转载自: http://blog.csdn.net/yan8024/article/details/46531901 http://www.51testing.com/html/56/n-3707 ...
- Java模拟http上传文件请求(HttpURLConnection,HttpClient4.4,RestTemplate)
先上代码: public void uploadToUrl(String fileId, String fileSetId, String formUrl) throws Throwable { St ...
- 【JAVA】通过HttpURLConnection 上传和下载文件(二)
HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传的数据格式,上传给服务器 上传代码如下: package com.util; import java.i ...
- Http请求之基于HttpUrlConnection,支持Header,Body传值,支持Multipart上传文件:
Http请求之基于HttpUrlConnection,支持Header,Body传值,支持Multipart上传文件: public static String post(String actionU ...
随机推荐
- 关于TagHelper的那些事情——自定义TagHelper(格式化输出、依赖注入使用)
自定义TagHelper的最后一步就是在Process方法或ProcessAsync方法中添加展现代码.熟悉WebControl开发的朋友都知道Render方法,在这个方法中会添加展现的Html元素和 ...
- (Inside Out) Web地图坐标系——TDT的奇妙
一个GIS科班出生的研究生.把已还到课本的基础GIS知识,准备又一次学习,并结合这几年下来自身在行业中GIS的应用.总结一些有用的GIS知识点.一备不时之需,二为积累沉淀,三则是年龄越大.记性越差,加 ...
- dedecms织梦 v5.6 两处跨站漏洞
漏洞版本: dedecms织梦 v5.6 漏洞描述: DedeCMS内容管理系统软件采用XML名字空间风格核心模板:模板全部使用文件形式保存,对用户设计模板.网站升级转移均提供很大的便利,健壮的模板标 ...
- RecyclerView 数据刷新的几种方式 局部刷新 notify MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- ItermCF的MR并行实现
ItermCF的MR并行实现 @(Hadoop) ItermCF的基本思想 基于物品相似度的协同过滤推荐的思想大致可分为两部分: 1.计算物与物之前的相似度 2.根据用户的行为历史,给出和历史列表中的 ...
- 使用Bootstrap3和Ladda UI实现的多种按钮“加载中”效果体验
在线演示 在线演示 大家在开发基于web的网站或者web应用中,常常在AJAX调用的过程中需要提示用户并且展示相关的“加载中”效果,类似的UI设计也非常多,比如,当点击一个按钮后,在它的旁边显示一个 ...
- Units specified don't exist SHSUCDX can't install
重装系统,出现“Units specified don't exist SHSUCDX can't install”怎么办? 昨天,我们领导弄了个联想Thinkpad T510i的笔记本,本来预装的是 ...
- 百度地图SDK for Android【检索服务】
1搜索服务 百度地图SDK集成搜索服务包括:位置检索.周边检索.范围检索.公交检索.驾乘检索.步行检索,通过初始化MKSearch类,注册搜索结果的监听对象MKSearchListener,实现异步搜 ...
- angularjs中使用ng-bind-html和ng-include
下面这个例子,往div标签内添加html内容: <!doctype html> <html ng-app="myApp"> <head> < ...
- es5 - array - shift
/** * 描述:该shift()方法从数组中删除第一个元素并返回已删除的元素.此方法更改数组的长度. * 语法:arr.shift() * 返回:该shift方法删除零点索引处的元素并将连续索引处的 ...