KindEditor编辑器默认上传的图片文件夹,是根据系统时间自动生成的,图片是自动上传到这些文件夹里面,无法选择。如果要上传图片到指定文件夹,像相册一样管理图片,则需要扩展KindEditor编辑器。

一个相册实际上对应的就是一个文件夹,我们可以做一个表格来存放。本例为了简单,就不涉及到数据库了。

一、在控制器(defaultController)里编写action,获取文件夹列表,并序列化为JSON对象。

 public ActionResult album()
{
if (Request.IsAjaxRequest())
{
ArrayList list = new ArrayList();
ArrayList a=new ArrayList(){"生活照","艺术照","精彩瞬间", "旅游"};
foreach (var x in a)
{
Hashtable ht = new Hashtable();
ht.Add("folderName", x);
list.Add(ht);
}
return Json(list, JsonRequestBehavior.AllowGet); }
else
return View(); }

如果是存放在表格里面的,就更简单了,如表格为AlbumFolder(id,folderName),则代码为

    public ActionResult album()
{
if (Request.IsAjaxRequest())
{
var list = db.AlbumFolder.ToList();
return Json(list, JsonRequestBehavior.AllowGet); }
else
return View(); }

二、修改image.js文件

打开目录kindeditor/plugins/image/下的image.js文件,在

clickFn = options.clickFn;

这句代码的后面,添加一些代码,变为

    clickFn = options.clickFn;
$.post('/default/album', function (data) {
$.each(data, function (i, item) {
$("<option></option>").val(item["folderName"]).text(item["folderName"]).appendTo($("#folder"));
});
});

然后找到

'<input type="button" class="ke-upload-button" value="' + lang.upload + '" />',

这个地方,后下面添加

'<label style="width:60px;">上传到:</label>',
'<select name="folder" id="folder"></select>',

三、修改upload_json.ashx文件

打开目录kindeditor/asp.net/下的upload.json.ashx文件,

找到

String ymd = DateTime.Now.ToString("yyyyMMdd", DateTimeFormatInfo.InvariantInfo);
dirPath += ymd+"/";
saveUrl += ymd + "/";

这个地方,将之替换成

string  imageFolder = context.Request.Form["folder"];
dirPath += imageFolder+"/";
saveUrl += imageFolder + "/";

大功告成,刷新试试吧!

在MVC3中修改KindEditor实现上传图片到指定文件夹的更多相关文章

  1. [置顶] LOAD语句:利用MSSQL中的xp_cmdshell功能,将指定文件夹下的指定文件,生成mysql的LOAD语句

    LOAD语句:利用MSSQL中的xp_cmdshell功能,将指定文件夹下的指定文件,生成mysql的LOAD语句 declare @sql varchar(4000), @dirpath varch ...

  2. 在MVC3中修改KindEditor实现图片删除

    编辑器KindEditor可以上传图片,但却不能删除图片,因此我们通过修改一些文件,对KindEditor进行扩展,使得KindEditor能删除服务器上的图片. 主要方法就是:在图片空间中浏览图片, ...

  3. 在MVC3或asp.net中修改KindEditor实现上传图片时添加水印

    主要修改两个文件:image.js和upload_json.ashx文件. 一.修改image.js文件 打开kindeditor/plugins/image目录下的image.js文件,找到 '&l ...

  4. mvc中上传图片到指定文件夹中

    前台: @using (Html.BeginForm("AddImg", "UpFileImg", FormMethod.Post, new { enctype ...

  5. .net网站上传图片换电脑不显示 当不用网站的IP地址访问图片,只用相对路径访问时,在发布网站的时候,将上传图片的目标文件夹,包含在项目中再发布即可。

    .net网站上传图片换电脑不显示 当不用网站的IP地址访问图片,只用相对路径访问时,在发布网站的时候,将上传图片的目标文件夹,包含在项目中再发布即可.

  6. 关于 百度 Ueditor 上传图片时 打开文件夹的延迟问题

    在使用 ueditor 开发时, 作为一个web文本编辑器使用时. 当点击上传图片时, 文件夹要延迟好久才能打开. 解决: 针对多图片上传, 将/ueditor/dialogs/image/image ...

  7. 关于 百度 Ueditor (在chrome浏览器) 上传图片时 打开文件夹的延迟问题

    在使用 ueditor 开发时, 作为一个web文本编辑器使用时. 当点击上传图片时, 文件夹要延迟好久才能打开. 解决: 针对多图片上传, 将/ueditor/dialogs/image/image ...

  8. C#遍历指定文件夹中的所有文件(转)

    原文链接:http://www.cnblogs.com/qianqianfy/archive/2009/07/08/1518974.html 1. C#遍历指定文件夹中的所有文件 DirectoryI ...

  9. C#遍历指定文件夹中的所有文件(转)

    C#遍历指定文件夹中的所有文件 DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);//遍历文件夹foreach(DirectoryIn ...

随机推荐

  1. MFC事件和线程

    HANDLE WINAPI CreateThread ( __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes, // 指向SECURITY_ATTRIB ...

  2. 更改Ubuntu默认python版本的两种方法python-> Anaconda

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.一般Ubuntu默认的Python版本都为2. ...

  3. UVa 11427 Expect the Expected (数学期望 + 概率DP)

    题意:某个人每天晚上都玩游戏,如果第一次就䊨了就高兴的去睡觉了,否则就继续直到赢的局数的比例严格大于 p,并且他每局获胜的概率也是 p,但是你最玩 n 局,但是如果比例一直超不过 p 的话,你将不高兴 ...

  4. Attr类型

    Attr表示元素的特性,在所有浏览器中,都可以访问Attr类型的构造函数和原型. attr特性存在于元素的attributes属性中的节点 nodeType 2 nodeName 特性的名称 node ...

  5. Codeforces Round#416 Div.2

    A. Vladik and Courtesy 题面 At regular competition Vladik and Valera won a and b candies respectively. ...

  6. 使用MyGeneration创建模板:介绍(翻译)

    原文信息 原文地址 原文作者信息: Justin Greenwood MyGeneration Software http://www.mygenerationsoftware.com April 2 ...

  7. 20180705 fragment

    https://www.cnblogs.com/chaowang/p/6180825.html https://blog.csdn.net/xxkalychen/article/details/537 ...

  8. 2018-03-17 handler学习使用

    1.handler具体使用https://www.cnblogs.com/JohnTsai/p/5259869.html 2.handlerThread用法https://www.jianshu.co ...

  9. (转).net面试题(老赵)

    转自:http://www.cnblogs.com/chenxiaoran/archive/2012/05/27/2519988.html 1.什么是CLR 公共语言运行时(Comman langua ...

  10. 原生JS一些操作

    很久没写原生的JS了,上周做了一个小东西让我又重新了解了一下原生JS,以下记录一些常见的原生JS var canvArrow = document.getElementById('js-canv_ar ...