今天,我们来讲一下富文本编辑器上传图片功能的操作。首先,在这里需要引入一个js插件 (config.js),在插件里面写下配置图片上传的路径。

接下来,既然要实现上传图片的功能,那我们就需要一个东西是用来接收表单里面的值(如下图)。在这里我是用HttpPostedFileBase 来接收表单上面传过来的值,就是传过来的图片。

文件的处理方式:一般我们会把文件保存到文件夹里面,这里我在做发布的时候创建了几个文件夹。

比如:我在Notice 文件夹里面创建四个文件夹,Notice是最终保存的文件夹。

第一个文件夹保存的是上传的附件;第二个是传入富文本编辑器的图片;第三个保存的是用于上传轮播图的图片;第四个保存的是富文本编辑器发布的内容,保存在一个input文本标签里面。

我们需要把文件放在临时文件夹。

其实,整个过程很简单,你先判断是否为空,若为空就返回上传的文件为空,不为空就进行下一步操作,获取文件后缀,在判断数据类型,检查目录是否存在,若不存在那就创建,拼接文件名、文件保存路径,保存,返回就可以了!

在这里,先创建一个名叫Ckeditor4UploadResult类,这个类里面有两个类。一个用来当你点击上传到服务器时候的数据,里面包含了上传成功的信息与上传文件的名称还有一个上传文件的URL编码,下面那个是接收另一个类的错误信息,显示出来的内容。另一个为了记录返回的错误信息。

//表示是上传成功 1成功 0失败public int uploaded { get; set; }//上传文件的名称public string fileName { get; set; }//上传文件的URL(URL编码)public string url { get; set; }//错误public Ckeditor4UploadResultErro error = new Ckeditor4UploadResultErro();}public class Ckeditor4UploadResultErro {//错误信息public string message { get; set; }}

接下来,判断如果不为空就要判断是否为图片,所以我们就要获取它的文件后缀。获取到文件后缀后,小写是因为后面的数据类型名称都是小写形式,然后我们就需要判断数据类型。我们需要判断fileExtension是否是这些数据类型中的某一个,否则返回文件类型错误。

我们还要检查目录是否存在,不存在就创建。

然后拼接文件名,当前时间加上唯一标识符。

接下来拼接保存文件的路径,如果担心写错可以打开目录看一下路径。然后呢,我们要拼接它的保存路径,把它保存在filePath里面,然后设置返回值,upload的返回值为1,fileName等于上面文件名,还有URL路径,路径的信息需要返回到上面(如下图)。

下面就是这整个富文本编辑器上传图片的完整代码。

 public ActionResult UpEditorFile(HttpPostedFileBase upload){Ckeditor4UploadResult ck = new Ckeditor4UploadResult();try{if (upload != null){//获取文件后缀string fileExtension = System.IO.Path.GetExtension(upload.FileName);fileExtension = fileExtension.ToLower();//小写//判断数据类型if ("(.gif)|(.jpg)|(.bmp)|(.jpeg)|(.png)".Contains(fileExtension)) {//检查目录是否存在,不存在就创建if (!Directory.Exists(Server.MapPath("~/Document/Temp/"))){Directory.CreateDirectory(Server.MapPath("~/Document/Temp/"));}//拼接文件名string fileName = DateTime.Now.ToString("yyyy-MM-dd") + "-" + Guid.NewGuid() + fileExtension;//拼接保存文件的路径string filePath = Server.MapPath("~/Document/Temp/")+fileName;//保存文件upload.SaveAs(filePath);//返回值ck.uploaded = 1;ck.fileName = fileName;ck.url = "/Document/Temp/" + fileName;}else{ck.error.message = "文件类型有问题";}}else {ck.error.message = "上传文件为空!";}}catch (Exception e){Console.WriteLine(e);ck.error.message = "上传失败!";}return Json(ck,JsonRequestBehavior.AllowGet);}

好了,到这里就结束了,希望对大家有所帮助!

富文本编辑器上传图片的功能相关推荐

  1. vue quill富文本编辑器上传图片遇到的坑

    在使用quill富文本编辑器上传图片的时候,很多地方都是成功的,但是唯有一处,上传图片总是失败,由此后端的朋友就说可以html标签转换成JSON字符串上传上去,展示的时候在转换回来,即可解决问题. 由 ...

  2. ssh 使用 wangeditor3 富文本编辑器上传图片方法

    这段时间在搞一个小网站的项目,其中有个功能是可以网页上编辑文字和图片,能一起上传到数据库然后在页面上展现,当然还可以上传附件,不过我现在还没弄好,先把上传图片的功能记录一下. 说到这个wangedit ...

  3. 使用wangEditor富文本编辑器上传图片和文字

    "刘郎已恨蓬山远,更隔蓬山一万重" 序 现在做的是从web端给眼镜端发送消息,其实就是web端把消息存到数据库,然后眼镜从数据库获取消息即可.现在在web端的输入框需要直接复制图片 ...

  4. MVC+API 实现tinymce富文本编辑器上传图片、上传视频

    首先是要下载一个版本,这里我自己用的放到GitHub上了 https://github.com/dhgr1/tinymce 之前我试过官网的以及别的地方的,但都会报错,我也没搞清楚原因,你们可以自己去 ...

  5. vue3使用vue-quill实现富文本编辑器上传图片

    最近开发的一个vue3+element-plus的项目,需要用到富文本编辑器,最终选择了VueQuill这一款轻便型的富文本编辑器:官网地址为 https://vueup.github.io/vue- ...

  6. 在Vue中使用Tinymce富文本编辑器+上传图片到七牛

    公司官网后台需要做一个上传新闻.公告的功能,自然而然就需要用到了富文本编辑器. UEditor.Simditor.wangEditor.CKEditor.TinyMCE.Quill,这是当前比较热门的 ...

  7. vue问题四:富文本编辑器上传图片

    vue使用富文本编辑器上传图片: 我是用的是wangEditor 富文本编辑器 demo:http://www.wangeditor.com/ 1).安装依赖:npm install wangedit ...

  8. layui富文本编辑器上传图片

    layui是贤心大神的开源前端框架,也是对后端菜鸟非常友好的一个框架,平常开发的时候就比较喜欢使用这个,最近刚好写网站就到了layui的富文本编辑器,遇到一些有意思的事情,就和大家聊聊. 首先准备工作 ...

  9. 关于ckeditor富文本编辑器上传图片返回“不正确的服务器响应”的解决方案

    最新由于项目需要,使用了ckeditor富文本编辑器,需要上传图片.在使用过程中突然发现,原来的ckeditor返回图片地址的方式返回"不正确的服务器响应".当时感觉好奇怪啊.明明 ...

最新文章

  1. 使用eclipse创建Struts2项目
  2. d3中文案例_D3.js柱状图例子
  3. mysql 连接 监控_mysql监控优化(一)连接数和缓存
  4. 自定义评分器Similarity,提高搜索体验(转)
  5. 计算机枚举法教案,简单枚举算法教案.ppt
  6. C++语言特性的性能分析
  7. 域名抢注代码_如何停止域名抢注攻击
  8. English语法_副词 - ago / before / since
  9. 6月3日 徒步虎跳峡——第一日
  10. HTML特殊转义字符
  11. 如何使用计算机语言画经纬网,使用R语言绘制中国地图
  12. Java技能点--基本类型与非基本类型
  13. Cobar的架构与实践
  14. ModelAndView绑定数据模型配合Thymeleaf渲染数据用法学习
  15. oracle中in与exists,Oracle中in和exists的区别
  16. 武汉理工大学在职博士|同等学力申博士学位学费通知
  17. 怎么保存页面为html,怎样把一个网页保存到电脑上并且保存为HTML文件?
  18. BLEU 评价 NLP 文本输出质量
  19. 电子技术专业基础与实务(中级)考试介绍与复习方法
  20. 基于Linux系统的TCP协议的即时通信系统

热门文章

  1. requirement
  2. Proximal Policy Optimization近端策略优化(PPO)
  3. 26367411153598389kygoq
  4. C笔记05-选择顺序结构,关系与相等,优先级和结合性
  5. 阿克曼前轮转向车gazebo模型
  6. vue项目为什么选择svg图标
  7. 重新认识融云,「不止即时通讯」
  8. 关于阿里矢量图标的普通无色和彩色的使用方法
  9. 【随笔记】NDK 编译开源库 SQLite3
  10. 红孩儿编辑器的模块设计6