zoukankan      html  css  js  c++  java
  • CKEditor+SWFUpload实现功能较为强大的编辑器(三)---后台接收图片流程

    在前台配置完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

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


    至此,大功告成!

  • 相关阅读:
    语义化单单的限定在html么?
    转WEB前端开发经验总结(5)
    JavaScript中的null和undefined
    文字上右下环绕广告的写法
    转自森林:最新CSS兼容方案
    转自森林:注释书写规范 Ghost
    【探讨】栈和队列
    转自森林:你是一个职业的页面重构工作者吗?
    Web标准:IE8新特性及IE8安装使用
    转载:09年腾讯校园招聘页面重构的2道面试题
  • 原文地址:https://www.cnblogs.com/jchubby/p/4429751.html
Copyright © 2011-2022 走看看