package com.acconsys.base.util;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
public class HttpRequester {
private static final String BOUNDARY = "-------45962402127348";
private static final String FILE_ENCTYPE = "multipart/form-data";
public static void main(String[] args) {
String filepath = "D:\\360安全浏览器下载\\plsqldev_2990.zip";
String urlStr = "http://localhost:8080/chsService/FileUploadServlet";
Map<String, String> textMap = new HashMap<String, String>();
textMap.put("hahaha", "Capital-DocGen.zip");
textMap.put("aaa", "D:\\server.zip");
textMap.put("bbbb", "<?xml version='1.0' encoding='utf-8'?><root><parts><part number='设计Name' name='设计ShortDescription' projectName='项目名' version='设计版本' owner='设计创建人' type='设计类型' domain='所属域Name' status='设计状态'></part><part number='设计Name' name='设计ShortDescription' projectName='项目名' version='设计版本' owner='设计创建人' type='设计类型' domain='所属域Name' status='设计状态'></part><part number='设计Name' name='设计ShortDescription' projectName='项目名' version='设计版本' owner='设计创建人' type='设计类型' domain='所属域Name' status='设计状态'></part></parts></root>");
Map<String, File> fileMap = new HashMap<String, File>();
fileMap.put("myFile.zip", new File(filepath));
post(urlStr, textMap, fileMap);
}
/**
*
* @param urlStr http请求路径
* @param params 请求参数
* @param images 上传文件
* @return
*/
public static InputStream post(String urlStr, Map<String, String> params,
Map<String, File> images) {
InputStream is = null;
try {
URL url = new URL(urlStr);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(5000);
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
con.setRequestMethod("POST");
con.setRequestProperty("Connection", "Keep-Alive");
con.setRequestProperty("Charset", "UTF-8");
con.setRequestProperty("Content-Type", FILE_ENCTYPE + "; boundary="
+ BOUNDARY);
StringBuilder sb = null;
DataOutputStream dos = new DataOutputStream(con.getOutputStream());;
if (params != null) {
sb = new StringBuilder();
for (String s : params.keySet()) {
sb.append("--");
sb.append(BOUNDARY);
sb.append("\r\n");
sb.append("Content-Disposition: form-data; name=\"");
sb.append(s);
sb.append("\"\r\n\r\n");
sb.append(params.get(s));
sb.append("\r\n");
}
dos.write(sb.toString().getBytes());
}
if (images != null) {
for (String s : images.keySet()) {
File f = images.get(s);
sb = new StringBuilder();
sb.append("--");
sb.append(BOUNDARY);
sb.append("\r\n");
sb.append("Content-Disposition: form-data; name=\"");
sb.append(s);
sb.append("\"; filename=\"");
sb.append(f.getName());
sb.append("\"\r\n");
sb.append("Content-Type: application/zip");//这里注意!如果上传的不是图片,要在这里改文件格式,比如txt文件,这里应该是text/plain
sb.append("\r\n\r\n");
dos.write(sb.toString().getBytes());
FileInputStream fis = new FileInputStream(f);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
dos.write(buffer, 0, len);
}
dos.write("\r\n".getBytes());
fis.close();
}
sb = new StringBuilder();
sb.append("--");
sb.append(BOUNDARY);
sb.append("--\r\n");
dos.write(sb.toString().getBytes());
}
dos.flush();
if (con.getResponseCode() == 200)
is = con.getInputStream();
dos.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return is;
}
}
原文地址 http://www.52video.net/art_view5402.html 大部分的AV玩家都知道NTSC(美国国家电视系统委员会)代表了一种目前世界上广为采用的电视系统标准,事实上,NTSC是由EIA(美国电子工业协会)所发起及创办的。NTSC也曾经订定了单色(黑白)电视标准,并且于1941年经FCC(美国联邦通信委员会)通过并认可了这个标准。其实在1949年左右,
maven怎么打war包一个童鞋问我maven怎么打war包,一听有点懵,懵的不是maven到底该怎么打war包,我不会?而是觉得maven打war包需要配置吗,也许只有最简单的才是最适合的。maven配置文件pom.xml的基本结构:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http...
mini-muduo v 0.02版本,这个版本添加的内容非常少,完整可运行的示例可从github下载,使用命令git checkout v0.02可切换到此版本,在线浏览到这里#include "TcpServer.h"int main(int args, char** argv){ TcpServer tcpserver; tcpserver.start();
最近,在APP测试过程中发现一个crash,
在做ORALCE EBS FORM时,把FORM挂到环境后,关闭from 时会出到红色进度条: 解决方法:1.找到APP_CUSTOM程序单元,看看被关闭的这个block是否初始设置退出窗口的情况。2.查看该block的导航数据块的属性有没有设置,只需要设置对应的前一个导航数据块和后一个导航数据块就可解决。注:在APP_CUSTOM 中没有设置推迟窗口事件的,要设
对于分组后,想查询每组数量在总数所占百分比的情况。如:想知道郑州市所在的医院在整个河南所占的比例SELECT T2."NAME", COUNT( 1 ) TOTAL, 100 * ROUND( COUNT( 1 ) / SUM( COUNT( 1 ) ) OVER ( ), 4 ) || '%' PERCENT FROM PMR005_ORG T INNER JOIN PMR025_AREA T2 ON T.ADMINISTRATIVECODE = T2.UNITID WHERE.
DIV重叠 CSS让DIV层叠、叠加,CSS让两个DIV或多个DIV按顺序重叠叠加篇让DIV重叠并按想要顺序重叠需要CSS来实现,即CSS绝对定位进行实现。重叠样式需要主要CSS样式解释1、z-index 重叠顺序属性2、position:relative和position:absolute设置对象属性为可定位(可重叠)3、left right top bottom绝对定位具体位置设...
多边形游戏 多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。1 将一条边删除。2 随后n-1步按以下方式操作: (1)选择一条边E以及由E连接着的2个顶点V1和V2; (2)用一个新的顶点取代边E以及由E连接着的...
MyBatis文章目录MyBatis简介什么是MyBatis入门安装从 XML 中构建 SqlSessionFactory不使用 XML 构建 SqlSessionFactory从 SqlSessionFactory 中获取 SqlSession探究已映射的 SQL 语句**对命名空间的一点补充****命名解析**作用域(Scope)和生命周期**对象生命周期和依赖注入框架**SqlSessionFactoryBuilderSqlSessionFactorySqlSession映射器实例配置属性(prop
有的人利用整站下载工具下载网站到本地进行慢慢的欣赏,有的人利用全站下载工具创建垃圾站。不管你是出于什么样的目的,下面这些工具软件你可以会需要。TeleportUltraTeleport Ultra所能做的,不仅仅是离线浏览某个网页(让你离线快速浏览某个网页的内容当然是它的一项重要功能),它可以从Internet的任何地方抓回你想要的任何文件,它可以在你指定的时间自动登录到你指定的网站下载你指定...
AtmosphericFogColor(大气雾颜色)AtmosphericFogColor(大气雾颜色) 材质表达式用来在全局空间中的任意位置,查询大气雾的当前颜色。如果没有输入全局空间位置,则使用相关像素的全局位置。当需要让材质逐渐融入远方的雾颜色时,这个非常有用。在以下示例中,使用 AtmosphericFogColor(大气雾颜色)节点来设置“底色”(Base Color),并且 Wor...
什么是POP3、SMTP和IMAP?POP3POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP...