zoukankan      html  css  js  c++  java
  • SpringMvc文件上传和json处理

    文件上传

    pom依赖

    <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>1.3.3</version>
    </dependency>

    springmvc.xml

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- 必须和用户JSP 的pageEncoding属性一致,以便正确解析表单的内容 -->
            <property name="defaultEncoding" value="UTF-8"></property>
            <!-- 文件最大大小(字节) 1024*1024*50=50M-->
            <property name="maxUploadSize" value="52428800"></property>
            <!--resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常-->
            <property name="resolveLazily" value="true"/>
    </bean>

    jsp页面

    <%--
      Created by IntelliJ IDEA.
      User: dell
      Date: 2019/9/29
      Time: 19:57
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>上传图片</title>
    </head>
    <body>
    <form action="${pageContext.request.contextPath}/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="xxx">
        <input type="submit" value="上传">
    </form>
    
    </body>
    </html>

    代码

        @RequestMapping("/upload")
        @ResponseBody
        public String upload(HttpServletRequest request, MultipartFile xxx){
            try {
                FileUtils.copyInputStreamToFile(xxx.getInputStream(),new File("E://temp/"+xxx.getOriginalFilename()));
            } catch (IOException e) {
                e.printStackTrace();
            }
            return "上传成功";
        }

    如果要访问这张图片要配置映射文件:

    结果:

    json返回处理:

    在请求方法前加这个@ResponseBody
      @ResponseBody
        @RequestMapping("/jsonStr2")
        public Map jsonStr2(){
            return bookService.listPager(new Book(),new PageBean()).get(0);
    
        }

    结果

    json返回处理的工具类

    package com.cjh.util;
    
    public class JSONResult {
    
        // 响应业务状态
        private Integer status;
    
        // 响应消息
        private String msg;
    
        // 响应中的数据
        private Object data;
        
        private String ok;    // 不使用
    
        public static JSONResult build(Integer status, String msg, Object data) {
            return new JSONResult(status, msg, data);
        }
    
        public static JSONResult ok(Object data) {
            return new JSONResult(data);
        }
    
        public static JSONResult ok() {
            return new JSONResult(null);
        }
        
        public static JSONResult errorMsg(String msg) {
            return new JSONResult(500, msg, null);
        }
        
        public static JSONResult errorMap(Object data) {
            return new JSONResult(501, "error", data);
        }
        
        public static JSONResult errorTokenMsg(String msg) {
            return new JSONResult(502, msg, null);
        }
        
        public static JSONResult errorException(String msg) {
            return new JSONResult(555, msg, null);
        }
    
        public JSONResult() {
    
        }
    
        public JSONResult(Integer status, String msg, Object data) {
            this.status = status;
            this.msg = msg;
            this.data = data;
        }
    
        public JSONResult(Object data) {
            this.status = 200;
            this.msg = "OK";
            this.data = data;
        }
    
        public Boolean isOK() {
            return this.status == 200;
        }
    
        public Integer getStatus() {
            return status;
        }
    
        public void setStatus(Integer status) {
            this.status = status;
        }
    
        public String getMsg() {
            return msg;
        }
    
        public void setMsg(String msg) {
            this.msg = msg;
        }
    
        public Object getData() {
            return data;
        }
    
        public void setData(Object data) {
            this.data = data;
        }
    
        public String getOk() {
            return ok;
        }
    
        public void setOk(String ok) {
            this.ok = ok;
        }
    
    }

    测试

        @ResponseBody
        @RequestMapping("/jsonStr3")
        public JSONResult jsonStr3(){
            return JSONResult.ok("这里是data对象");
    
        }
    
    
        @ResponseBody
        @RequestMapping("/jsonStr4")
        public JSONResult jsonStr4(){
            return JSONResult.errorMsg("请求异常");
    
        }
    }

  • 相关阅读:
    iOS-MVC设计模式
    LoadRunner中文转码
    LoadRunner中Base64编码解码
    jmeter持续集成化(一)---jmeter+Ant+DOS构建执行脚本
    LoadRunner MD5加密
    Jmeter元件--BeanShell Timer
    ftp上传下载
    Shell编程实例
    Oracle数据库sqlplus操作
    oracle执行计划分析
  • 原文地址:https://www.cnblogs.com/chenjiahao9527/p/11614170.html
Copyright © 2011-2022 走看看