easyui多文件上传到指定路径

效果图如下

在网上查找一番后,参考别人的代码,记录下来,方便以后查阅

引入的js包

jquery.easyui.min.js

jquery.min.js

ssm框架实现后台

多文件上传的核心是input标签中设置multiple="true"

设置这个之后通过手按ctrl可以选择多个文件进行上传

(一)bady中添加

<body>
	<div style="margin:20px 0;"></div>
	<div class="easyui-panel" title="上传文件" style="width:400px;padding:30px 70px 50px 70px">
		<form id="userForm" name="userForm"  enctype="multipart/form-data" method="post">
        	<div style="margin-bottom:20px">
				<input  class="easyui-filebox" id="file"  name="file" data-options="prompt:'选择一个或多个文件...'"  style="width:100%"  multiple="true"> 
			</div>
    	</form>
		<div>
			<a href="#" class="easyui-linkbutton" style="width:100%" onclick="loadFile()">上传</a>
		</div>
	</div>

</body> 

(二)js代码

<script type="text/javascript">  
    function loadFile(){
        $("#userForm").form('submit', {
                type:"post",  //提交方式    
                dataType: 'json',
                url:'${pageContext.request.contextPath}/order/upload.action', //请求url
                success:function(data)
                { //提交成功的回调函数   
                    var data =eval('(' + data + ')');
                    $.messager.alert({  title:'提示',
                            msg: data.resultMsg,
                            icon:'info',
                   });
                }    
            });  
        }
</script> 

(三)后天代码

@Controller
@RequestMapping("/order")
public class OrderController {
	/**
	 * 上传文件
	 * @param file
	 * @return
	 */
	@RequestMapping("/upload")
	@ResponseBody
	public OperationResultMsg springUpload(@RequestParam(value = "file", required = false)CommonsMultipartFile[]  files,HttpServletRequest request)
	    {
	        //上传文件保存位置
	        String pathString =  request.getSession().getServletContext().getRealPath("/upload");
	        //判断文件夹是否存在
	        File file=new File(pathString);
	        if(!file.isDirectory())
	        {
	            //创建文件夹
	            file.mkdirs();
	        }
	        //批量上传
	        for(int i = 0;i<files.length;i++)
	        {  
	            if(!files[i].getOriginalFilename().isEmpty())
	            {
	                String path = pathString+"\\"+files[i].getOriginalFilename();
	                File newFile=new File(path);
	                try 
	                {
	                    //上传日志
	                    files[i].transferTo(newFile);
	                } catch (IllegalStateException | IOException e)
	                {
	                    e.printStackTrace();
	                }
	            }else if(files.length == 1)
	            {
	                //返回提示选择文件
	                 return new OperationResultMsg(OperationResultCode.UPLOADING_FILE_OPTION);
	            }
	         }
	        //返回上传成功
	        return new OperationResultMsg(OperationResultCode.UPLOADING_FILE);
	    }
}
/**
 * 操作结果通知信息        实体类             
 */
public class OperationResultMsg implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = -3349098656492188022L;
    private int id;
    private String resultMsg;
    private Object extraMsg;

    public OperationResultMsg(OperationResultCode code)
    {
        this.id = code.getId();
        this.resultMsg = code.getMsg();
    }

    public OperationResultMsg(OperationResultCode code, Object extraMsg)
    {
        this.id = code.getId();
        this.resultMsg = code.getMsg();
        this.extraMsg = extraMsg;
    }
    public OperationResultMsg()
    {
    }

    public int getId()
    {
        return id;
    }

    public void setId(int id)
    {
        this.id = id;
    }

    public Object getExtraMsg()
    {
        return extraMsg;
    }

    public void setExtraMsg(Object extraMsg)
    {
        this.extraMsg = extraMsg;
    }

    public String getResultMsg()
    {
        return resultMsg;
    }
    public void setResultMsg(String resultMsg)
    {
        this.resultMsg = resultMsg;
    }
    
    
    /**
     * 账号操作结果代码
     */
    public enum OperationResultCode
    {
        SUCCESS(0, "操作成功"),
        UPLOADING_FILE(1, "上传文件成功!"),
        UPLOADING_FILE_OPTION(2, "请选择上传文件"),
        ;

        private int id;
        private String msg;

        private OperationResultCode(int id, String msg)
        {
            this.id = id;
            this.msg = msg;
        }

        public int getId()
        {
            return id;
        }

        public void setId(int id)
        {
            this.id = id;
        }

        public String getMsg()
        {
            return msg;
        }

        public void setMsg(String msg)
        {
            this.msg = msg;
        }
    }
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值