asp.net上传图片

有时候在网站中需要引入文本编辑器的样式,但是3.0去除样式,导致前台文本一大堆,这是效果真是太糟了。

asp.net上传图片_第1张图片
效果图




<%--

请输入内容...

--%>
<%=information_Content%>



upload.ashx代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace nsd.admin.ashx
{
///


/// upload 的摘要说明
///

public class upload : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        var files = context.Request.Files;
        if (files.Count <= 0)
        {
            return;
        }

        HttpPostedFile file = files[0];

        if (file == null)
        {
            context.Response.Write("error|file is null");
            return;
        }
        else
        {
            string path = context.Server.MapPath("~/admin/upload/");  //存储图片的文件夹  
            string originalFileName = file.FileName;
            string fileExtension = originalFileName.Substring(originalFileName.LastIndexOf('.'), originalFileName.Length - originalFileName.LastIndexOf('.'));
            string currentFileName = (new Random()).Next() + fileExtension;  //文件名中不要带中文,否则会出错  
            //生成文件路径  
            string imagePath = path + currentFileName;
            //保存文件  
            file.SaveAs(imagePath);

            //获取图片url地址  
            string imgUrl = "upload/" + currentFileName;

            //返回图片url地址  
            context.Response.Write(imgUrl);
            return;
        }  
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

}
唯一难点就是路径问题会导致错误:

asp.net上传图片_第2张图片
找不到一般处理程序

这是我的路径,和页面在一个路径

image.png

修改后,效果:

asp.net上传图片_第3张图片
效果图

补充:
路径的设置:
//获取图片url地址
//string imgUrl = "upload/" + currentFileName;
string imgUrl = "http://localhost:3697/admin/upload/" + currentFileName;

你可能感兴趣的:(asp.net上传图片)