首页 > 编程语言 >asp.net KindEditor编辑器整合百度WebUploader插件批量上传图片

asp.net KindEditor编辑器整合百度WebUploader插件批量上传图片

时间:2024-04-09 14:56:35浏览次数:33  
标签:文件 插件 asp 浏览器 KindEditor 编辑器 上传

集成背景说明

多个图片进行批量上传新版本浏览器兼容性问题处理,原编辑器上传图片功能使用flash上传插件,由于最新版本浏览器不再支持flash,重新集成新的上传插件,对编辑器进行改造升级。

一、KindEditor介绍

KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。使用JavaScript编写,可以无缝的于Java、.NET、PHP、ASP等程序接合。

KindEditor非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一。

主要特点:

1. 体积小,加载速度快,但功能十分丰富。

2. 内置自定义range,完美地支持span标记。

3. 基于插件的方式设计,所有功能都是插件,增加自定义和扩展功能非常简单。

4. 修改编辑器风格很容易,只需修改一个CSS文件。

5. 支持大部分主流浏览器,比如IE、Firefox、Safari、Chrome、Opera。

<script charset="utf-8" src="/static/plugins/kindeditor/kindeditor-min.js"></script>
<script charset="utf-8" src="/static/plugins/kindeditor/lang/zh_CN.js"></script>
<script charset="utf-8" src="/static/plugins/kindeditor/themes/default/default.css"></script>

二、WebUploader介绍

官网:http://fex.baidu.com/webuploader/getting-started.html
API:http://fex.baidu.com/webuploader/doc/index.html

WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+

优点:
1,分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。
2,预览、压缩.支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。
解析jpeg中的meta信息,对于各种orientation做了正确的处理,同时压缩后上传保留图片的所有原始meta数据。
3,多途径添加文件
支持文件多选,类型过滤,拖拽(文件&文件夹),图片粘贴功能。
粘贴功能主要体现在当有图片数据在剪切板中时(截屏工具如QQ(Ctrl + ALT + A), 网页中右击图片点击复制),Ctrl + V便可添加此图片文件。
4,HTML5 & FLASH
兼容主流浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内核。同时Flash部分没有做任何UI相关的工作,方便不关心flash的用户扩展和自定义业务需求。
5,MD5秒传当文件体积大、量比较多时,支持上传前做文件md5值验证,一致则可直接跳过。
如果服务端与前端统一修改算法,取段md5,可大大提升验证性能,耗时在20ms左右。
6,易扩展、可拆分采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。采用AMD规范组织代码,清晰明了,方便扩展。

缺点:
1,使用0.1.5在进行flash上传时,如果服务器端返回的不是一个json格式的字符串,webuploader.js代码将会报错,客户端接收不到返回信息。

webuploader插件,避雷指南:https://www.cnblogs.com/winteronlyme/p/7008703.html

WebUploader文件上传组件使用步骤及注意:https://www.jianshu.com/p/9f669deebf82

使用需要导入wepuploader的css文件、jquery.js以及webuploader.js文件。

<!--引入CSS-->
<link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css"> 
<!--SWF在初始化的时候指定,在后面将展示-->
<script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>

文件上传失败会派送uploadError事件,成功则派送uploadSuccess事件。不管成功或者失败,在文件上传完后都会触发uploadComplete事件。

三、扩展编辑器多图上传插件

参考:富文本编辑器Kindeditor升级版Kindeditor-plus体验

编辑器集成效果展示 多图上传改造 编辑器配置

案例上传基于阿里云oss,本文集成为自有文件服务程序,修改调整直接配置为上传后端程序处理url。

uploadJson为上传处理url

注意返回值尽量返回json,方便对返回值处理。如果接口返回其他格式,前端需要再做相应解析处理(response._raw获取返回的信息)。

上传成功处理事件

最后:

每个项目集成情况都不相同,无法给出具体代码,部分核心代码及思路仅供参考。现在开源解决方案也比较多,根据自己项目情况进行集成升级。

标签:文件,插件,asp,浏览器,KindEditor,编辑器,上传
From: https://www.cnblogs.com/oorz/p/18123956

相关文章

  • ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
    ASP.NETMVCWebApi接口返回JOSN日期格式化dateformat全局配置WebApiConfigpublicstaticclassWebApiConfig{publicstaticvoidRegister(HttpConfigurationconfig){//WebAPI配置和服务//WebAPI路由config.MapHttpAttributeRoutes......
  • 牛逼!一键生成整个项目类关系图,这款 IDEA 插件堪称神器!
    最近看源码就想找个uml的类图工具,网上看了一些,发现都是一些单个类的继承关系图,如果不知道的朋友,可以用uml插件工具搜索uml即可(umlsupport),然后每次点击右键后在菜单下面找Diagrams。但是我们今天介绍的不是这个,而是另外一个不错的插件,叫codeiris。这个是可以显示整个工程所有类......
  • asp.core生成docker镜像(使用本地nuget)
    生成Dockerfilevs自带生成Dockerfile功能了使用本地的nuget包加入nuget配置文件NuGet.ConfigNuGet.Config配置文件,配置地址如果没有配置生成镜像会报错,没找到package生成镜像生成Docker映像(想深入了解,可以网上看看dockerbuild的参数)dockerbuild-f"C:\Projec......
  • Windows:IntelliJ IDEA Ultimate 安装 PHP 插件
    在IntelliJIDEAUltimate中安装PHP插件,支持PHP开发调试首先,进入File>Setting:再次选择Plugins,然后选择上面的Marketplace。在搜索栏中输入PHP,然后单击左侧的Install进行安装就可以了。安装成功后,IntelliJIDEAUltimate将会提示你进行重启。重启之后,验证是否......
  • 如何用asp.net制作网站
    ASP.NET是一种基于微软公司的.NET平台的Web应用程序框架,它允许开发人员使用多种编程语言来构建动态Web网站和Web应用程序。准备工作在开始制作ASP.NET网站之前,需要有以下几个基本条件:安装VisualStudio或者VisualStudioCode等IDE.NETFrameworkRuntime环境IIS服务器创......
  • 深圳阿里云代理商:asp.net如何提交数据库
    深圳阿里云代理商:asp.net如何提交数据库简介:飞机@luotuoemo本文由(阿里云代理商:【金推云】www.jintui.cn)撰写如何在ASP.NET中提交数据库阿里云代理商的优势作为深圳阿里云代理商,我们提供高效、安全、稳定的云计算服务,能够满足客户的各种需求。通过阿里云的弹性计算、数据......
  • WPS二次开发系列:Gradle版本、AGP插件与Java版本的对应关系
    背景最近有体验SDK的同学反馈接入SDK出现报错,最终定位到原因为接入的宿主app项目的gradle版本过低导致,SDK兼容支持了android11的特性,需要对应的gradle插件为支持android11的版本。现象解决方案将gradle版本升级至支持android11的插件版本即可,对此google官方的引文如下......
  • Visual Studio 实用插件,不断更新中。。。
    想要什么功能的插件,都可以到插件市场搜索https://marketplace.visualstudio.com/下面介绍一些自己工作中常用的插件,文章会不断更新中。。。1、Codeium(免费AI辅助推荐)Codeium:免费的AI代码工具包,一个基于尖端AI技术构建的免费代码加速工具包。目前,Codeium提供70+种......
  • 使用高德微信小程序插件实现精准获取打卡位置
    由于微信小程序的 getFuzzyLocation 误差太大不得不改用高德微信sdk使用方法:一、下载 sdk相关下载-微信小程序插件|高德地图API二、引入 sdk//引入varamapFile=require('..­/..­/libs/amap-wx.js');Page({onLoad:function(){varthat=this;......
  • Spring Data JPA应用之动态查询JpaSpecificationExecutor
    JPA提供了基于准则查询的方式即Criterial查询——Specification接口。该接口定义了一个toPredicate方法用例构造查询条件。在SpringBoot对SpringDataJPA的支持案例的基础上对该接口实操进行探讨。1)数据访问接口必须实现JpaSpecificationExecutor......