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. Android——Service装取数据

    在Service里面装数据,从Activity里面用serviceConnection取数据 xml <?xml version="1.0" encoding="u ...

  2. Javascript全栈技术架构

    https://worktile.com/tech/basic/the-worktile-tech-stack https://worktile.com/tech/basic/worktile-rea ...

  3. 【进阶修炼】——改善C#程序质量(3)

    32, 总是优先考虑泛型. 泛型代码有很好的重复利用性,和类型安全性. 33, 应尽量避免在泛型类中声明静态成员. 静态成员达不到共享的目的.List<int>和List<Strin ...

  4. Git 生命周期

    在本章中,我们将讨论的Git的生命周期.在后面的章节中,我们将看到的Git命令为每个操作. 一般工作流程是这样的: 克隆Git仓库作为工作副本. 可以添加/编辑文件,修改工作副本. 如果有必要,你还服 ...

  5. Java以UTF-8编码读写文件

    java中文件操作体现了设计模式中的装饰者模式 . 以utf-8编码写入文件: FileOutputStream fos = new FileOutputStream("test.txt&q ...

  6. SpringCloud 天气预报系统 Quartz集成

    https://blog.csdn.net/csdn_wangchen/article/details/79402097 继上一次的redis集成后,有了很大的改观,但是缺少数据的同步.------& ...

  7. kinect2的标定

    我用的是ubuntu14.04LTS,ROS 版本是indigo,kinect v2,我是用双系统装的ubuntu,关于怎么使用安装kinect2的安装以及使用的都在github上有着详细的说明 Ki ...

  8. WampServer 常见问题

    Wamp就是Windows 下的Apache Mysql PHP集成环境. 支持phpmyadmin 注意:安装前请先安装VC 2010运行库(vcredist2010.exe ),否则会提示没有找到 ...

  9. 【转】如果有人让你推荐Python技术书,请让他看这个列表

    入门级 <Head First Python>+ 入门级 + 微信49票 + 豆瓣评分 9.5 推荐语: 66:浅显易懂,编排的顺序特别,有大量插图.对话,不感觉枯燥 古心:通熟易懂,配有 ...

  10. js if判断 遍历 替换图片地质

    <script> $(document).ready(function() { var s = "The rain in Spain falls mainly in the pl ...