• spring 上传 下載文件


    1,spring配置文件添加文件上传配置

    <!-- 上传文件 -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- 1GB -->
           <property name="maxUploadSize" value="1073741824" />
           <property name="defaultEncoding" value="utf-8"/>
        </bean>

    2,html

     <form method="post" accept-charset="UTF-8"  th:action="${#httpServletRequest.contextPath+'/upload'}" id="multipartform" enctype="multipart/form-data"  class="form-search" role="form">
                            <input type="file" name="file" size="5" id="file" /><button type="submit" id="multipart" class="btn">上传</button>
                            </form>

    3,controller

     1     @RequestMapping(value = "/upload",method= RequestMethod.POST)
     2     @ResponseBody
     3     public String upload(HttpServletRequest request,HttpServletResponse response,@RequestParam("file") MultipartFile file) {
     4         if (file.isEmpty()) {
     5             return ResponseJSON.instance().setStatus(false).addAlertMessage("请选择导入文件!").toJSON();
     6         }
     7         String filename = file.getOriginalFilename();
     8         int index = filename.indexOf(".");
     9         String file_suffix = filename.substring(index, filename.length());
    10         if (!file_suffix.equals(".txt")) {
    11             return ResponseJSON.instance().setStatus(false).addAlertMessage("请选择txt格式文件!").toJSON();
    12         }
    13         try {
    14             BufferedReader reader = null;
    15             String usernameString = null;
    16             InputStreamReader isr = null;
    17             int line = 1;
    18             try {
    19                 isr = new InputStreamReader(file.getInputStream(), "utf-8");// 考虑到编码格式
    20                 reader = new BufferedReader(isr);
    21                 while ((usernameString = reader.readLine()) != null) {
    22                     system.out.println(usernameString);
    23                     line++;
    24                 }
    25                 
    26             } catch (FileNotFoundException e) {
    27                 // TODO Auto-generated catch block
    28                 logger.error("读取文件失败!", e);
    29             } catch (IOException e) {
    30                 // TODO Auto-generated catch block
    31                 logger.error("读取文件失败!", e);
    32             } finally {
    33                     reader.close();
    34                     isr.close();
    35                     in.close();
    36             }
    37         } catch (IOException e) {
    38             // TODO Auto-generated catch block
    39             logger.error("上传文件失败", e);
    40             return ResponseJSON.instance().setStatus(false).addAlertMessage("上传文件失败").toJSON();
    41         }
    42         return ResponseJSON.instance().setStatus(true).toJSON();
    43     }
    44 
    45     /**
    46      * 写成txt文件格式
    47      * 
    48      * @param path
    49      * @throws IOException
    50      */
    51     @RequestMapping(value = "/load")
    52     public void writeTxt(HttpServletRequest request, HttpServletResponse response) throws IOException {
    53         response.setContentType("text/plain");
    54         response.setCharacterEncoding("UTF-8");
    55         response.setHeader("Content-disposition", "attachment;filename=result.txt");
    56         String name_ip = "这是一个txt文件";
    57         OutputStream ops = null;
    58         try {
    59             ops = response.getOutputStream();
    60             ops.write(name_ip.getBytes());
    61 
    62         } catch (IOException e) {
    63             // TODO Auto-generated catch block
    64             logger.error("写结果文件异常:", e);
    65         } finally {
    66             ops.close();
    67         }
    68 
    69     }
  • 相关阅读:
    vue框架-基础5-vue-使用第三方ui组件快速开发页面,vuetify
    vue框架-基础4-vue-使用vue-cli工具
    vue框架-基础3-vue-component组件化开发
    vue框架-基础2-vue生命周期
    vue框架-基础1-vue包引入,指令,模板语言
    python apscheduler的使用研究
    Python中Flask框架SQLALCHEMY_ECHO设置
    通过淘宝镜像下载python3.8.3的安装包
    pycharm 报错Connection to Python debugger failed socket closed
    github fork项目,和删除fork项目
  • 原文地址:https://www.cnblogs.com/cora/p/4315889.html
Copyright © 2020-2023  润新知