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

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


    至此,大功告成!

  • 相关阅读:
    navigator 对象
    面向对象 ( OO ) 的程序设计——继承
    面向对象 ( OO ) 的程序设计——创建对象
    面向对象 ( OO ) 的程序设计——理解对象
    芯片知识扫盲
    8位、16位、32位单片机中的“XX位”指什么?
    stm32库函数建工程和使用Keil自带库建工程有没有区别?发现了同样的程序在两种情况下keil自带库可以运行的情况,不知是什么原因
    关于输出的看法
    4-鸡肉为何如此受欢迎
    7-发音规则(弱读,缩写,其他)
  • 原文地址:https://www.cnblogs.com/jchubby/p/4429751.html
Copyright © 2011-2022 走看看