zoukankan      html  css  js  c++  java
  • MogliFS与spring mvc结合简单示例

    一、MogliFS 与Spring结合配置请参照上文

    二、上传页面

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <form action="${pageContext.request.contextPath}/file/upload" method="post" enctype="multipart/form-data">
        file1:<input type="file"  name="myFile"/>
        <br>
        file2:<input type="file"  name="myFile"/>
        <br>
        <input type="submit" value="上传">
    </form>

    三、mvc的CommonsMultipartResolver解析器配置

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="104857600"/>
    </bean>

    四、上传

    @RequestMapping(value = "/upload", method = RequestMethod.POST)
          public String upload(            
                  HttpServletRequest request, @RequestParam(value = "myFile", required = false) MultipartFile[] files) {
                  try {
                      for(int i=0;i<files.length;i++){
                          MultipartFile  file=files[i];
                          
                          if(StringUtils.isNotEmpty(file.getName()) && file.getSize() > 0){
                              
                              ......
                              
                              MojiFile mf = moji.getFile("MyFileKey"+uuid);
                              
                              OutputStream out = null;
                              InputStream in = null;
                              try {
                                  out = mf.getOutputStream();
                                  in = file.getInputStream();
                                  
                                  byte[] bs = new byte[1024];
                                  while( in.read(bs) != -1){
                                      out.write(bs);
                                  }
                                  
                                  out.flush();
                              } finally {
                                  in.close();
                                  out.close();
                              }
                          }
                      }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                  return "success";
          }

    五、下载

    @RequestMapping(value = "download", method = RequestMethod.GET)
        public  void download(HttpServletRequest request,
                HttpServletResponse response, String fileName) throws Exception {
            response.setContentType("text/html;charset=UTF-8");
            request.setCharacterEncoding("UTF-8");
            BufferedInputStream bis = null;
            BufferedOutputStream bos = null;
            
         ...... MojiFile mf = moji.getFile("MyFileKey" + uuid); response.setHeader("Content-disposition", "attachment; filename=" + new String(newFileName.getBytes("gb2312"), "ISO8859-1")); response.setHeader("Content-Length", String.valueOf(mf.length())); bis = new BufferedInputStream(mf.getInputStream()); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } bis.close(); bos.close(); }
  • 相关阅读:
    Linux------环境配置(CentOS 7) 安装JDK Tomcat Nginx MySQL
    ssm实战(8)-----支付模块开发,订单模块
    ssm实战(7)------收货地址管理
    ssm实战(6)------购物车管理
    ssm实战(4,5)------分类管理,商品管理
    ssm实战(3)------用户模块
    Mybatis(1)——映射文件,缓存,整合
    ssm实战(2)------pom.xml文件 和 mybatis-generator git
    7.1Servlet ---手写Servlet
    为什么有些资源要显示的close关闭
  • 原文地址:https://www.cnblogs.com/xiaoliangup/p/9606934.html
Copyright © 2011-2022 走看看