在前台配置完CKEditor和SWFUpload之后就可以满足基本的需求了

在这里,我配置的接收异步上传的图片的页面为upload.ashx

在这个ashx中对上传的图片处理的流程如下:

context.Response.ContentType = "text/plain";
HttpPostedFile file = context.Request.Files["Filedata"];//接收到上传的图片
string fileName = string.Empty;
string fileExtension = string.Empty;
if (file != null)
{
fileName = Path.GetFileName(file.FileName);//获取图片名
fileExtension = Path.GetExtension(file.FileName);//获取扩展名
}
if (fileExtension == ".jpg")
{
string saveDir = "/upload/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";//根据当前年月日在upload文件夹中创建该图片的保存路径,便于管理
Directory.CreateDirectory(Path.GetDirectoryName(context.Server.MapPath(saveDir)));//创建路径
string fullDir = saveDir + GetMD5.GetFileMD5(file.InputStream) + fileExtension;//使用图片的md5作为该图片保存的名字
file.SaveAs(context.Server.MapPath(fullDir));
context.Response.Write("ok;" + fullDir);//保存完毕之后将图片的路径返回
}

需要注意的几点是:

1.在服务器端保存文件一定要用绝对路径,如context.Server.MapPath(fullDir)

2.使用图片的md5值作为图片的名字,一来保证图片名不会重复,二来在用户上传同一张照片的时候可以将其覆盖

最后,功能比较完善的Ubb编辑器诞生了~~

不过由于编辑器可以转成源码模式

用户还是可以直接在源码模式下输入<,>这些符号

所以在后台接收用户输入的数据的时候

 msg = msg.Replace("<", "&lt").Replace(">", "&gt");

需要对<,>进行替换

最后的最后~

在向用户展示信息的时候,需要把ubb代码转换成html,这样浏览器才能解析

提供一个写好的静态类,要用的时候将ubb代码传进去,返回的就是html代码

UbbHelper

里面有挺多的问题,需要根据自己的需求更改代码

至此,大功告成!

最新文章

  1. js禁止页面刷新禁止用F5键刷新,禁止右键
  2. contentResolver
  3. 【学习笔记】Wireshark的用法
  4. Angular数据双向绑定
  5. 蓝牙 BLE GATT 剖析(二)-- GATT UUID and 举例
  6. JAVA 并发实现六(Volatile的使用)
  7. pig、hive以及hbase的作用
  8. 记录下Webapi签名机制
  9. 在CentOS7上实现NFS共享
  10. 4.29 初始mysql
  11. Go语言中的Struct
  12. Python爬虫入门教程 32-100 B站博人传评论数据抓取 scrapy
  13. 使用git开发的流程
  14. 数据重组:对一堆相似字典进行分类统计(shidebin)
  15. %lld 和 %I64d的区别
  16. Springboot以war包方式运行
  17. 解题报告:poj1061 青蛙的约会 - 扩展欧几里得算法
  18. 【nlogn LIS】 模板
  19. HDU 2141 Can you find it?【二分查找是否存在ai+bj+ck=x】
  20. POJ 1722 SUBTRACT

热门文章

  1. POJ 3177 Redundant Paths 无向图边双联通基础题
  2. php中json_encode和json_decode的用法
  3. CI的model层的操作
  4. 文件排版(codevs 1300)
  5. Java并发编程--AQS
  6. win7兼容visual studio 2005 的方法
  7. selenium访问百度 然后获取百度logo的截图
  8. iOS开发者证书申请及应用上线发布详解
  9. 【推荐】nodeJS后台守护进程-forever
  10. 【转载】无需图片,使用CSS3实现圆角按钮