wangEditor图片批量上传

    最近公司网站改版,个人负责后台管理系统的开发,其实内容比较简单,前台展示页面大部分为静态页面,后台管理系统负责文章内容的编写和文章分类管理和标签的分类。在进行内容编辑的时候采用了wangEditor富文本编辑,在使用过程中图片多张上传时遇到了一个坑:

        

editor.customConfig.customUploadImg = function (files, insert) {
    // files 是 input 中选中的文件列表
    // insert 是获取图片 url 后,插入到编辑器的方法

    // 上传代码返回结果之后,将图片插入到编辑器中
    insert(imgUrl)
}

自定义上传图片方法,因为要上传到公司资源服务器,在自定义方法中使用ajax向后台提交数据,

public Map<String, Object> upload(@RequestParam(value = "files", required = false) MultipartFile[] files, HttpServletRequest request) 
		

使用MulitpartFile[] 数组无法接受参数,报500错误

后来将前端请求方法加以修改

wEditor.customConfig.customUploadImg = function (files, insert) {
		 var daw = new FormData();
		 for(var i=0;i<files.length;i++){
			 daw.append("files",files[i]);	 
		 }
		 index = layer.load(1, {
			  shade: [0.1,'#fff'] //0.1透明度的白色背景
			});
	    	
		 $.ajax({
				url:"${pageContext.request.contextPath}/content/upload",
				type: "POST",
                data: daw,
                async: false,
                cache: false,
                contentType: false,
                processData: false,
				success:function(da){
					layer.close(index);
					if(da.errno == 0){
						for(var j=0;j<da.data.length;j++){
							insert(da.data[j]);	
						}
						}else{
							alert(da.msg);
							return;
						}  
				},
			});
	   
	}

 

用FormData将图片文件拼接,然后通过post方式传递给后端

 

public Map<String, Object> upload(@RequestParam(value = "files", required = false) List<MultipartFile> files, HttpServletRequest request) {
		Map<String, Object> resultMap = Maps.newHashMap();
		String imgUrls[] = new String[files.size()];
		try{
			if(files != null&&files.size()>0){		
				for (int i = 0; i < files.size(); i++) {
					String imgUrl = SFTPUtil.uploadMultipartFile(files.get(i));//上传文件
					imgUrls[i] = imgUrl;
				}
			}
			resultMap.put("errno", 0);
			resultMap.put("data", imgUrls);
		} 

后端通过list来接收前端传递的参数,然后遍历list逐个上传到资源服务器,将返回的图片链接放在数组中,通过json字符串再返回给前端。

 

使用wangEditor的小结:

        轻量、配置引用简单,但是因为是前端文档,自定义跟后端交互的方法时所描写的说明较为简单,并不涉及到后端的相关描述,不免给人有些疑惑

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值