zoukankan      html  css  js  c++  java
  • springMVC+jsp+ajax上传文件

    工作中遇到的小问题,做个笔记

    实现springMVC + jsp + ajax 上传文件

    HTML

    <body>
       <form id="myform"  method="post" >
           登录名<input type="text" name="loginName" />
           <br>
          上传录音<input type="file" name="record" />
          <input type="button" onclick="doUpload()" value="提交" />
       </form> 
    </body>

    javascript

     function doUpload() {  
          var formData = new FormData($( "#myform" )[0]);  
          $.ajax({  
               url: 'insert/fileupload.action' ,  
               type: 'POST',  
               data: formData,  
               async: false,  
               cache: false,  
               contentType: false,  
               processData: false,  
               success: function (returndata) {  
                   alert(returndata);  
               },  
               error: function (returndata) {  
                   alert(returndata);  
               }  
          });  
     }

    springMVC.xml

       <!-- 配置文件上传解析器 -->  
         <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
            <property name="defaultEncoding" value="utf-8"/>  
            <property name="maxUploadSize" value="10485760000"/>  
            <property name="maxInMemorySize" value="40960"/>  
         </bean> 

    java

    RequestMapping("fileupload")
     public void fileupload(HttpServletRequest request,HttpServletResponse response,String loginName) throws Exception {
         //获取服务器中保存文件的路径
      String path = request.getSession().getServletContext().getRealPath("")+"\upload\record\";
      System.out.println(path);
       //获取解析器  
         CommonsMultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());  
         //判断是否是文件  
         if(resolver.isMultipart(request)){  
             //进行转换  
             MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)(request);  
             //获取所有文件名称  
             Iterator<String> it = multiRequest.getFileNames();  
             while(it.hasNext()){  
                 //根据文件名称取文件  
                 MultipartFile file = multiRequest.getFile(it.next());  
                 String fileName = file.getOriginalFilename();  
                 String localPath = path + fileName;  
                 //创建一个新的文件对象,创建时需要一个参数,参数是文件所需要保存的位置
                 File newFile = new File(localPath);  
                 if (newFile.getParentFile() != null || !newFile.getParentFile().isDirectory()) {
                    // 创建父文件夹
                    newFile.getParentFile().mkdirs();
                 }
            //上传的文件写入到指定的文件中   
            file.transferTo(newFile);   
          }
    }
  • 相关阅读:
    transitiondrawable ImageVIew切换动画
    Android硬件加速
    android PorterDuffXfermode ,PorterDuff.Mode 使用 以及Porter-Duff规则详解
    listview 打对号效果实现
    nrf52832 连接参数更新过程
    Makefile 学习记录一
    W25Q128BV W25Q128FV W25Q128JV 什么区别?
    lwip Packet buffers (PBUF) API 操作 集合
    NRF SDK 中 , C语言 的 一些骚操作 ,记录下
    lwip lwiperf 方法进行性能测试 4.5MB/S
  • 原文地址:https://www.cnblogs.com/wjqboke/p/6000557.html
Copyright © 2011-2022 走看看