主题: 为什么我上传的图片不能在编辑区显示出来?
作者: 靚靚, 发布日期: 2013-02-04 10:05:46, 浏览数: 3761

图片的地址写的都是一个,图片可以上传但是显示不出来!谁知道告诉我下!~谢谢  <meta content="utf-8" />
    <link href="kindeditor-4.1.5/themes/default/default.css" rel="stylesheet" type="text/css" />
    <link href="kindeditor-4.1.5/plugins/code/prettify.css" rel="stylesheet" type="text/css" />
    <script src="kindeditor-4.1.5/kindeditor.js" type="text/javascript"></script>
    <script src="kindeditor-4.1.5/lang/zh_CN.js" type="text/javascript"></script>
    <script src="kindeditor-4.1.5/plugins/code/prettify.js" type="text/javascript"></script>
    <script type="text/jscript">
        KindEditor.ready(function (K) {
            var editor1 = K.create('#TextBox1', {
                cssPath: 'kindeditor-4.1.5/plugins/code/prettify.css',
                uploadJson: 'kindeditor-4.1.5/asp.net/upload_json.ashx',
                fileManagerJson: 'kindeditor-4.1.5/asp.net/file_manager_json.ashx',
                allowFileManager: true,
                afterCreate: function () {
                    var self = this;
                    K.ctrl(document, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                    K.ctrl(self.edit.doc, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                }
            });
            prettyPrint();
        });
    </script>

 

 


//根目录//根目录路径,相对路径
        String rootPath = "~/Images";
  //根目录URL,可以指定绝对路径,比如 http://www.yoursite.com/attached/
        String rootUrl = aspxUrl + "~/Images";

//文件保存目录路径
  String savePath = "~/Images/";
  //文件保存目录URL
  String saveUrl = aspxUrl + "~/Images/";

 

作者: 小浪子, 发布日期: 2013-02-04 10:11:25
发全代码。。
回复
作者: 小浪子, 发布日期: 2013-02-04 10:54:16

那你现在是怎么显示不出图片?

图片已经返回到了编辑器中吗?只是图片显示X??如果是显示X。你查看html代码。看图片的路径

 

还是图片都没有返回出来??

回复
作者: 靚靚, 发布日期: 2013-02-04 10:57:11
回复小浪子:就是显示的×  。。
回复
作者: 靚靚, 发布日期: 2013-02-04 10:58:59
回复小浪子:<img alt="" src="/UI/kindeditor-4.1.5/asp.net/~/Images/image/20130204/20130204105742_3915.png" />我设置的图片上传地址是~/Images   它自动给我加了一个文件夹image    那我应该怎么读那?
回复
作者: 靚靚, 发布日期: 2013-02-04 11:02:06

回复小浪子:它自动给我加了文件夹   在我原有的Images 下加了一个image   又已今天的日期又加了一个文件夹20130204 (文件夹名称

) 

回复
作者: 小浪子, 发布日期: 2013-02-04 11:03:50

回复靚靚:其实用ASP.NET上传很简单。。自己写个就行。

 

现在的问题。看你要把图片保存到哪里?如果是根目录。直接把程序里面的路径改成:/Images/

 

不过呢。还是建议。你自己重写个上传类。

回复
作者: 靚靚, 发布日期: 2013-02-04 11:11:08
回复小浪子::<img alt="" src="/UI/kindeditor-4.1.5/asp.net/~/Images/image/20130204/20130204105742_3915.png" />为什么系统会给我加前面这一段路径="/UI/kindeditor-4.1.5/asp.net/...我明明写的是~/IMages
回复
作者: 靚靚, 发布日期: 2013-02-04 11:13:57
回复小浪子:/UI/kindeditor-4.1.5/asp.net/~/   只要把这个删除了 就显示出来了   可我是路径中并没写这个路径呀"/UI/kindeditor-4.1.5/asp.net/~/
回复
作者: 小浪子, 发布日期: 2013-02-04 11:16:58

这是我早期自己写的:upload_json.ashx

<%@ WebHandler Language="C#" Class="UpLoad" %>

#region 附:修改上传大小的配置
/*
    需要修改的是
    在 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG目录里,
    找到文件maxRequestLength="4096"
    将值修改大一些,例如:102400
    这个参数的单位应该是KB的

    以上方法是修改全局的,如果公需要修改一个项目,那么是修改项目里的Web.config文件

    在<system.web></system.web>之间添加,
    <httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="10240" executionTimeout="300" />
    其中,
    maxRequestLength:设置上传文件的最大值,单位:KB。(默认是4096KB,即4M)
    executionTimeout:设置超时时间,单位:秒。(默认是90秒)
    */
#endregion

using System;
using System.Web;
using System.IO;

public class UpLoad : IHttpHandler
{
    private HttpContext context;
    private string fileType = string.Empty;
    private string fileDir = string.Empty;
    private int fileSize = Convert.ToInt32(1024);
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        this.context = context;
        HttpPostedFile dataFile = context.Request.Files["imgFile"];
        string fileName = dataFile.FileName;
        string fileFix = GetFileExtends(fileName).ToLower();
        if (dataFile == null)
        {
            showErr(1, "请选择文件。");
        }
        fileDir = "/UpLoadFiles/";
		string dirName = context.Request.QueryString["dir"];
        switch (dirName)
        {
            case "image":
                fileType = "gif|jpg|jpeg|png|bmp";
                fileDir += "Images/";
                fileSize = fileSize * 1024;
                break;
            case "flash":
                fileType = "swf|flv";
                fileDir += "Flash/";
                fileSize = fileSize * 1024;
                break;
            case "media":
                fileType = "Media/";
                fileDir += "swf|flv|mp3|wav|wma|wmv|mid|avi|mpg|asf|rm|rmvb";
                fileSize = fileSize * 5120;
                break;
            case "file":
                fileType = "jpg|bmp|jpeg|gif|png|swf|rar|exe|zip|7z|tar|doc|docx|txt|ppt|mdb|txt";
                fileDir = "File/";
                fileSize = fileSize * 10240;
                break;
            default:
                fileType = "jpg|bmp|jpeg|gif|png|swf|rar|exe|zip|7z|tar|doc|docx|txt|ppt|mdb|txt";
                fileDir += "File/";
                fileSize = fileSize * 10240;
                break;
        }
        int _fileSize = dataFile.ContentLength;
        if (_fileSize == 0)
        {
            showErr(1, "没有选择要上传的文件或所选文件大小为0字节!");//上传的文件大小 byte
        }
        if (_fileSize > fileSize)
        {
            showErr(1, "上传的文件超过限制大小(" + (fileSize / 1024).ToString() + "KB)");
        }
        if (fileType != "*")
        {
            if (fileType.ToLower().IndexOf(fileFix.ToLower().Trim()) == -1) // 判断要上传的文件类型的是否在允许的范围内。
            {
                showErr(1, "不允许上传的文件类型(允许的类型:" + fileType + ")");
            }
        }
        string strDir = FolderCreate(context.Server.MapPath(fileDir));
        string newFile = strDir + SetFileName(fileFix);//绝对路径
        string EditorFile = fileDir + SetFileName(fileFix);//相对路径
        dataFile.SaveAs(newFile);
        showErr(0, EditorFile);
    }
    public void showErr(int n, string str)
    {
        string strConText = null;
        if (n == 0)
        {
            strConText = "{\"error\":0,\"url\":\"" + str + "\"}";
        }
        else
        {
            strConText = "{\"error\":1,\"message\":\"" + str + "\"}";
        }
        context.Response.Write(strConText);
        context.Response.End();
    }
    public string SetFileName(string strFix)
    {
        string fileName;
        DateTime dteNow = DateTime.Now;
        fileName = dteNow.Year.ToString() + dteNow.Month.ToString() + dteNow.Day.ToString() + GetRandomStr(8) + "." + strFix;
        return fileName;
    }
    #region 获取上传文件存放目录
    /// <summary>获取上传文件存放目录</summary>
    /// <param name="DirectoryPath">存放文件的物理路径。</param>
    /// <returns>返回存放文件的目录。</returns>
    public string FolderCreate(string DirectoryPath)
    {
        if (!Directory.Exists(DirectoryPath)) // 判断当前目录是否存在。
        {
            Directory.CreateDirectory(DirectoryPath); // 建立上传文件存放目录。
        }
        return DirectoryPath;
    }
    #endregion
    #region 获取指定位数的随机数
    /// <summary>获取指定位数的随机数</summary>
    /// <param name="RndNumCount">随机数位数。</param>
    /// <returns></returns>
    public string GetRandomStr(int RndNumCount)
    {
        string RandomStr;
        RandomStr = "";
        Random Rnd = new Random();
        for (int i = 1; i <= RndNumCount; i++)
        {
            RandomStr += Rnd.Next(0, 9).ToString();
        }
        return RandomStr;
    }
    #endregion
    #region 取得文件后缀
    /// <summary>
    /// 取得文件后缀
    /// </summary>
    /// <param name="filename">文件名称</param>
    /// <returns></returns>
    public static string GetFileExtends(string filename)
    {
        string ext = null;
        if (filename.IndexOf('.') > 0)
        {
            string[] fs = filename.Split('.');
            ext = fs[fs.Length - 1];
        }
        return ext;
    }
    #endregion

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}

你把:upload_json.ashx做个备份。把我上面的代码覆盖到你现在的:upload_json.ashx中。试试看

回复
作者: 仿秀达人, 发布日期: 2013-02-04 18:44:01

图片路径不对

回复
发表新帖 发表回复