应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

百度编辑器图片上传

6551人阅读 2019/3/29 22:34 总访问:5194765 评论:2 收藏:0 手机
分类: 编辑器


先在百度编辑器配置好上传图片的后台地址

serverUrl:'图片上传的后台地址'

  1. var ue = UE.getEditor("container", {
  2.         serverUrl'../Home/UploadImage'
  3.  });


百度编辑器会在加载的时候发送一个请求到配置的后台地址,用来验证这个地址是否是真实有效的。

如果有效,上传图片的地方才会正常的亮起来,表示可以使用


第一次加载的时候只需要返回一个这样的json给百度编辑器就好了



net core的后台可以这样写

  1.  public ActionResult UploadImage(List<IFormFile> files)
  2.         {
  3.             var action = Request.Query["action"];
  4.             var json = "";
  5.             //第一次加载,用于百度编辑器验证配置的后台地址是否可用
  6.             if (action == "config")
  7.             {
  8.                 json = @"{""imageActionName"":""UploadImage"",""imageFieldName"": ""upfile"",""imageCompressEnable"":""true"",""imageCompressBorder"": 1600,""imageInsertAlign"": ""none"",""imageUrlPrefix"": """",""imageAllowFiles"": ["".png"", "".jpg"", "".jpeg"", "".gif"", "".bmp""]}";
  9.             }
  10.             else
  11.             {
  12.                //处理图片上传的逻辑.......
  13.                var jsonobj = new { url = "你上传图片保存的位置,希望浏览器显示图片的url链接", state = "SUCCESS" };
  14.                json = JsonConvert.SerializeObject(jsonobj);
  15.             }
  16.             return new ContentResult { ContentType = "application/json;charset=UTF-8", Content = json };
  17.         }

net core具体的图片上传可以参考:http://www.tnblog.net/aojiancc2/article/details/2349


net framework的后台可以这样写

  1.   public ActionResult UploadImage()
  2.         {
  3.             var action = Request["action"];
  4.             var json = "";
  5.             //加载的时候请求
  6.             if (action == "config")
  7.             {
  8.                 json = @"{""imageActionName"":""UploadImage"",""imageFieldName"": ""upfile"",""imageCompressEnable"":""true"",""imageCompressBorder"": 1600,""imageInsertAlign"": ""none"",""imageUrlPrefix"": """",""imageAllowFiles"": ["".png"", "".jpg"", "".jpeg"", "".gif"", "".bmp""]}";
  9.             }
  10.             else
  11.             {
  12.                 //真正的图片上传处理逻辑
  13.                  var jsonobj = new { url = "你上传图片保存的位置,希望浏览器显示图片的url链接", state = "SUCCESS" };
  14.                  json = JsonConvert.SerializeObject(jsonobj);
  15.             }
  16.             return new ContentResult { ContentEncoding = Encoding.UTF8, ContentType = "application/json", Content = json };
  17.         }

framework上传图片很简单就是file.SaveAs('路径')就搞定了;


百度编辑器处理完上传逻辑后需要返回一个json传给前台,百度编辑器主要需要拿到两个值

一个状态state,一个是url就是图片的url也是百度编辑器保存的url

  1. var jsonobj = new { url = "你上传图片保存的位置,希望浏览器显示图片的url链接", state = "SUCCESS" };
  2. json = JsonConvert.SerializeObject(jsonobj);
  3. return new ContentResult { ContentType = "application/json;charset=UTF-8", Content = json };



如果想要图片上传后监听一个事件



单张图片上传后执行的代码可以在源代码找到

直接搜索:domUtils.removeClasses(loader, 'loadingclass');

注意不止一个,上面的方法是simpleupload

而且其实看上面那个判断json.state == 'SUCCESS' && json.url

也可以看出来后我们后台返回的json格式相互对应的,我们可以根据我们的逻辑直接来修改

这个里边的逻辑


如果是多图上传,想要监听图片上传完后执行一点逻辑

貌似可以直接绑定一个事件afterinsertimage

  1.         ue.ready(function ({
  2.             ue.addListener("afterinsertimage"function ({
  3.                 alert("图片上传完毕了");
  4.             });
  5.         });








欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

是伍尚金哇_v

2019/12/26 17:11:51

要来用百度编辑器咯


剑轩:@是伍尚金哇_v可以的用起来

2020/1/7 20:41:48 回复