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. Sql server在另一台服务器,在Visual Studio 中没问题,IIS中 提示“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。。。。”

    可能问题一: 确切的说是在IIS 7.5中有这问题 就是在visual studio中都用的好好的,但是加载到IIS上的时候竟然报错“ 在与 SQL Server 建立连接时出现与网络相关的或特定于实 ...

  2. python文件编码及执行

    兼容中文编码 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码. 当Python解释器读取源代码时,为了让它按UTF-8编 ...

  3. Java设计模式(4)原型模式(Prototype模式)

    Prototype模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是: ...

  4. C++ 定时器任务类实现

    #ifndef __TIMERTASK_H_ #define __TIMERTASK_H_ /* 定时器任务基类 */ #include "asr_taskinterface.h" ...

  5. 【转】Android配置文件权限一览表

    转自:http://blog.csdn.net/kbest/article/details/7495154访问登记属性 android.permission.ACCESS_CHECKIN_PROPER ...

  6. 关于Unity中Cg的基本语法和使用

    Cg是类似于C语言的发展起来的图形编程语言,Cgraphics,它的很多表达式if...else...和C语言非常相像,也和C#非常相像. 由于Shader是写给显卡执行的,所以没有输出语句来调试,很 ...

  7. js放大镜代码

    js原生放大镜 <!DOCTYPE html> <html> <head> <title>放大镜</title> <meta char ...

  8. Spring JDBC更新数据

    以下示例将展示如何使用Spring jdbc执行更新数据库表的记录,这里演示如何更新student表中指定条件的记录. 语法: String updateQuery = "update St ...

  9. svn -- svn图标解析

    1.代表服务器端与客户端文件相同,没有任何更改 2.当前文件如果有修改,那么将显示如下图标 3.当前要提交的文件,与服务器上其他人提交的文件有冲突,那么将显示如下图标 4.当前文件,在服务器上已被删除 ...

  10. UI型Bug定义的处理方法

    [UI型Bug定义] 这里指的UI型指以下两种Bug: 第一种是文字型Bug,即和给定的字符资源不一致的Bug,比如文字/字符/提示语/引导语/用户协议等文字方面的不一致. 第二种是UI效果不一致的B ...