基于LayUi组件java上传文件

基于LayUi组件java上传文件

  • Maven导包

    	<dependency>
    	    <groupId>commons-fileupload</groupId>
    	    <artifactId>commons-fileupload</artifactId>
    	</dependency>
    
  • jsp页面

    <div class="layui-inline layui-upload">
        <button type="button" class="layui-btn" id="uploadfile"><i class="layui-icon"></i>上传文件</button>
    </div>
    
  • js页面

    layui.use('upload', function(){
        var upload = layui.upload;
        //上传Excel文件
    	var uploadInst=upload.render({
    	    elem: '#uploadfile', //绑定元素
    	    url: projectName+'/hardware/uploadfile.do', //上传接口
    	    method:'POST',
    	    accept: 'file', //允许上传的文件类型
    	    size: 204800, //设置文件最大可允许上传的大小,单位 KB
    	    done: function(res){ //上传完毕回调
    	    	console.log(res)
    	    	layer.msg("上传成功",{icon: 1});
    	        parent.location.reload();
    	    },
    
    	    error: function(){
    	      //请求异常回调
    	    	layer.msg("上传失败",{icon: 0});
    	    }
    	  });
    }
  • 配置SpringMVC上传

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    	    <!--设置上传最大尺寸为5MB-->
    	    <property name="maxUploadSizePerFile" value="5242880"/>
    	    <property name="defaultEncoding" value="UTF-8"/>
    	    <property name="resolveLazily" value="true"/>
    </bean>
    
  • java后台

    /**
    	 * 上传Excel文档
    	 * @throws IOException 
    	 * @throws IllegalStateException 
    	 */
    @RequestMapping("/uploadfile.do")
    @ResponseBody
    public Map<String,String> uploadfile(@RequestParam("file") MultipartFile file,HttpServletRequest request) 
        throws IllegalStateException, IOException{
        if(null!=file){
            String fileOrigName=file.getOriginalFilename();// 文件原名称
            if (!fileOrigName.contains(".")) {
                throw new IllegalArgumentException("缺少后缀名");
            }
            //获取后缀名
            fileOrigName = fileOrigName.substring(fileOrigName.lastIndexOf("."));
            String newfileName =CommonFunction.strAutoInfo() +fileOrigName;
            //得到上传文件的保存目录 D:\apache-tomcat-8.0.53\webapps\QrCode\
            String uploadPath=request.getServletContext().getRealPath("");
            //获取项目名QrCode
            String projectName=request.getServletContext().getContextPath().substring(1);
            //将上传文件的保存目录换成 D:\apache-tomcat-8.0.53\webapps/uploadfile\
            String newdestPath= uploadPath.replaceAll(projectName, "uploadfile")+newfileName;
            //判断上传文件的目录是否存在
            File newfile=new File(newdestPath);
            if(!newfile.exists() && !newfile.isDirectory()){
                System.out.println(newfile+"目录不存在,需要创建");
                //创建目录
                newfile.mkdirs();
            }
            file.transferTo(newfile);
        }
        Map<String,String> map=new HashMap<String,String>();
        map.put("code", "0");
        map.put("msg","上传成功");
        return map;	
    }
    
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值