1.上传接口

@IgnoreToken
@RequestMapping(value = "/upload/cpicFile", method = RequestMethod.POST)
public void cpicFile(HttpServletResponse response, HttpServletRequest request){
ErrorCode errorCode = ErrorCode.FAILED;
Map<String,Object> reqData = this.getContent(request);
String path = SysConf.CPIC_WORKBASEDIR; //上传路径
try {
String name = (String)reqData.get("name");
String content = (String)reqData.get("content");
byte[] bytes = org.apache.commons.codec.binary.Base64.decodeBase64(content); //写入文件
File fileTmp = new File(path + name); //临时文件
FileOutputStream fop = new FileOutputStream(fileTmp);
if (!fileTmp.exists()) {
fileTmp.createNewFile();
}
fop.write(bytes);
fop.flush();
fop.close();
System.err.println("Done");
errorCode = ErrorCode.SUCCESS;
} catch (Exception e){
logger.error("上传CPIC图片异常",e);
errorCode = ErrorCode.SYS_ERROR;
}
sendResponseContent(response, reqData, errorCode);
}

2.测试接口

@Test
public void testCpicUploadFile(){
try {
Map<String,Object> paramMap=new HashMap<>();
paramMap.put("name", "cpic-160714.xml");
File f = new File("C:/sftp/cpic-20160713-3.xml");
InputStream in = new FileInputStream(f);
byte[] b = new byte[(int)f.length()]; //创建合适文件大小的数组
in.read(b); //读取文件中的内容到b[]数组
in.close(); String s = new String(b);
System.out.println("s = " + s);
System.out.println("b1 = " + b); //内存地址
String ss = org.apache.commons.codec.binary.Base64.encodeBase64String(b); //base64编码
System.out.println("ss = " + ss);
System.out.println("b2 = " + Base64.decodeBase64(ss)); //内存地址 paramMap.put("content", ss);
//@IgnoreToken
// paramMap.put("token", "54ungzbaach65xypcceq48gd6jwlyros"); //token可以加一个注解。
System.out.println("paramMap="+paramMap);
HttpResult httpResult = HttpUtil.post("/cpic/upload/cpicFile",paramMap);
System.out.println(httpResult);
} catch (Exception e) {
e.printStackTrace();
} }

java http post上传文件的更多相关文章

  1. 《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  2. 《手把手教你》系列技巧篇(五十五)-java+ selenium自动化测试-上传文件-下篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  3. java使用ftp上传文件

    ftpServer是apache MINA项目的一个子项目,它实现了一个ftp服务器,与vsftpd是同类产品.Filezilla是一个可视化的ftp服务器. ftp客户端也有很多,如Filezill ...

  4. java使用httpcomponents 上传文件

    一.httpcomponents简介 httpcomponents 是apache下的用来负责创建和维护一个工具集的低水平Java组件集中在HTTP和相关协议的工程.我们可以用它在代码中直接发送htt ...

  5. Java Servlet 接收上传文件

    在Java中使用 Servlet 来接收用户上传的文件,需要用到两个apache包,分别是 commons-fileupload 和 commons-io 包: 如果直接在doPost中,使用requ ...

  6. Java使用HttpURLConnection上传文件

    从普通Web页面上传文件非常easy.仅仅须要在form标签叫上enctype="multipart/form-data"就可以,剩余工作便都交给浏览器去完毕数据收集并发送Http ...

  7. Java模拟http上传文件请求(HttpURLConnection,HttpClient4.4,RestTemplate)

    先上代码: public void uploadToUrl(String fileId, String fileSetId, String formUrl) throws Throwable { St ...

  8. Java使用HttpClient上传文件

    Java可以使用HttpClient发送Http请求.上传文件等,非常的方便 Maven <dependency> <groupId>org.apache.httpcompon ...

  9. JAVA调用FTP上传文件

    import java.io.File; import java.io.FileInputStream; import org.apache.commons.net.ftp.FTP; import o ...

  10. java 网页 保存上传文件

    网页请求提交到另外一个jsp 进行处理 index.jsp <%@ page language="java" import="java.util.*" p ...

随机推荐

  1. WebService工作原理及传输安全问题

    WebService是一种能够接收从Internet或者Intranet外其它系统发来的请求,是一种轻量级的独立通讯技术. XML(Extensible MarkUp Language)扩展型标记语言 ...

  2. [转] 怎么减少编程中的 bug?

    [转]http://macshuo.com/?p=1361 怎么减少编程中的 bug? Posted on 2016 年 2 月 17 日 为什么要编程?因为代码没在那里.创造一个世界是如此让人着迷, ...

  3. if 语句练习 身高体重问题

    public class d { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 int ...

  4. linux用户和权限详解

    1.用户组说明 在使用useradd命令创建用户的时侯可以用-g 和-G 指定用户所属组和附属组.基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组 ...

  5. Git 创建操作

    在本章中,我们将看到如何创建一个远程Git仓库,从现在开始,我们将会把它作为Git服务器.我们需要一个的Git服务器允许团队协作. 创建新用户 # add new group [root@CentOS ...

  6. Could not autowire field: private java.lang.Integer com.taotao.sso.service.impl.UserServiceImpl.SSO_

    @Value("REDIS_USER_SESSION_KEY") private String REDIS_USER_SESSION_KEY; 1 2 改正: @Value(&qu ...

  7. R语言进行数据预处理

    R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with Rpackages:tidyr dplyr Ground rules l ...

  8. shell中调用R语言并传入参数的两种步骤

    shell中调用R语言并传入参数的两种方法 第一种: Rscript myscript.R R脚本的输出 第二种: R CMD BATCH myscript.R # Check the output ...

  9. Python 文件操作三

    文件重命名os模块中的rename()可以完成对文件的重命名操作rename(需要修改的文件名, 新的文件名) import os os.rename("11.txt", &quo ...

  10. Reusable async validation for WPF with Prism 5

    WPF has supported validation since the first release in .NET 3.0. That support is built into the bin ...