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

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


    至此,大功告成!

  • 相关阅读:
    SQLSTATE[HY000] [2002] No such file or directory(转)
    pg_stat_activity各字段的含义
    DedeCMS 后台空白问题
    关于XP和win7 的IIS发布问题
    500错误
    swfupload上传多张照片出现404 错误?(已解决)
    url字符串编码乱码问题
    遮罩层《一》
    Java集合按照索引分页,以及JS数组代码按照索引分页的源码
    填充整个页面
  • 原文地址:https://www.cnblogs.com/jchubby/p/4429751.html
Copyright © 2011-2022 走看看