http://www.cnblogs.com/yc-755909659/archive/2013/04/17/3026409.html aspx上传

http://www.cnblogs.com/mq0036/p/3715024.html  异步上传

-----------------------------------------ZJ版

MVC中利用ajaxfileupload.js插件实现异步上传:(这个既可以实现图片上传也可以实现文件上传)

JS引入:

<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Content/UploadFile/ajaxfileupload.js"></script>

前台实现:

//Html部分
<div>
<h2>请选择要上传的文件</h2>
<input type="file" id="imgFile" name="imgFile" /><input type="button" value="上传" id="btnUp"/>
<br />
<div>
<img id="articleFacePhotoImg" />
</div>
</div>
//JS引入
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Content/UploadFile/ajaxfileupload.js"></script>
//上传文件JS调用代码
<script type="text/javascript">
//异步上传文件
uploadFacePhoto = function () {
//判断内容是否为空
if ($("#imgFile").val().length <= ) {
return;
}
//执行异步上传
$.ajaxFileUpload({
url: '@Url.Action("UploadImg","Home")',//上传到文件服务器请求地址
type: 'post',
data: { dir: 'image' },//自定义参数
secureuri: false,//是否需要安全协议,一般设置为false
fileElementId: 'imgFile',//文件上传遇的ID
dataType: 'json',//返回值类型,一般设置为json
success: function (data)//服务器成功响应处理函数
{
//由于ajaxFileUpload把原来的file元素替换成新的file元素,所以之前绑定的change事件就失效了,需要重新绑定一下
$("#imgFile").change(function () {
uploadFacePhoto();
})
if (data.error == ) {
$("#articleFacePhotoImg").attr("src", data.url);
} else {
alert(data.message);
}
} });
}
//绑定文章封面文件域改变事件
$("#imgFile").change(function () {
uploadFacePhoto();
});
//点击实现上传
//$("#btnUp").click(function () {
// uploadFacePhoto();
//});
</script>

//后台实现:

/// <summary>
/// 上传文件
/// </summary>
/// <returns></returns>
public ActionResult UploadImg(HttpPostedFileBase imgFile,string dir)
{
//定义允许上传的文件的扩展名
Hashtable extTable = new Hashtable();
extTable.Add("image", "gif,jpg,jpeg,png,bmp");
extTable.Add("flash", "swf,flv");
extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");
if(String.IsNullOrEmpty(dir))
{
dir = "image";
}
if(!extTable.ContainsKey(dir))//如果不包含
{
return Content(JsonConvert.SerializeObject(new { error = , message = "文件格式不正确" }));
}
if (imgFile == null)
{
return Content(JsonConvert.SerializeObject(new { error=,message="上传文件大小超过限制"}));
}
string fileName = imgFile.FileName;
string fileExt = Path.GetExtension(fileName).ToLower();
if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dir]).Split(','), fileExt.Substring().ToLower()) == -)
{
return Content(JsonConvert.SerializeObject(new { error = , message = "上传文件扩展名是不允许的扩展名。\n只允许" + ((String)extTable[dir]) + "格式" }));
}
//创建文件夹
string dirPath = "/Files/" + dir + "/";
if (!Directory.Exists(Request.MapPath(dirPath)))
{
//不存在就创建
Directory.CreateDirectory(Request.MapPath(dirPath));
}
// string newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff") + fileExt;//注意这个写法文件名会有重复,要想不重复请使用Guid或其它方法。有坑需谨慎
imgFile.SaveAs(Request.MapPath(dirPath + newFileName));
//判断保存的文件是否存在
if (System.IO.File.Exists(Request.MapPath(dirPath + newFileName)))
{
return Content(JsonConvert.SerializeObject(new { error=,url=dirPath+newFileName}));
}
else
{
return Content(JsonConvert.SerializeObject(new { error=,message="上传文件失败!"}));
}
}

ajaxfileupload.js文件链接:http://pan.baidu.com/s/1i4Xezyd 密码:om9x

----------------------上面是简单的图片文件上传演示,下面简单演示下富文本编辑器的使用-------------

前台实现:

//Html部分
<div>
<!--编辑器开始-->
<textarea id="editor" name="content" style="width:100%;height:100%"></textarea>
<input type="button" id="btnSub" value="提交"/>
</div>
//JS部分
<script type="text/javascript">
$(function () {
//编辑器初始化
KindEditor.ready(function (K) {
window.editor = K.create('#editor', {
uploadJson: '@Url.Action("UploadImg","Home")'
});
});
$("#btnSub").click(function () {
var articleContent = editor.html();
alert(articleContent);
});
}) </script>
//引入文件
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/kindeditor/kindeditor-all-min.js"></script>
<script src="~/Scripts/kindeditor/plugins/code/code.js"></script>

后台实现和上面的上传文件后台一致,下面是引入文件链接:http://pan.baidu.com/s/1o8GV1pg 密码:4uum(百度云:KindEditor文件夹)

最后来张图片吧:

图片上传和显示——上传图片——上传文件)==ZJ的更多相关文章

  1. django中图片的上传和显示

    上传图片实际上是 把图片存在服务器的硬盘中,将图片存储的路径存在数据库中. 1 首先要配置文件上传的路径: 1.1 建立静态文件目录 在项目根目录下 新建一个 static文件夹,下面再建立一个med ...

  2. Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)

    ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...

  3. ruby on rails爬坑(三):图片上传及显示

    一,问题及思路 最近在用rails + react + mysql基本框架写一个cms + client的项目,里面涉及到了图片的上传及显示,下面简单说说思路,至于这个项目的配置部署,应该会在寒假结束 ...

  4. 图片上传即时显示javascript代码

    这是基于javascript的一种图片上传即时显示方法,测试结果IE6和火狐浏览器可以正常使用.google浏览器不兼容. 这种方法兼容性比较差,仅供参考,建议使用ajax方法来即时显示图片. 1.首 ...

  5. 图片上传并显示(兼容ie),图片大小判断

    图片上传并显示(兼容ie),图片大小判断 HTML <div id="swf" style="margin: 0 auto;text-align: center;& ...

  6. MVC 4 图片的上传及显示

    1 首先我们看一下如何上传 1.1 view 上传页面: 1: @using (Html.BeginForm("Create", "Achievement", ...

  7. django上传并显示图片

    环境 python 3.5 django 1.10.6 步骤 创建名为 testupload的项目 django-admin startproject testupload 在项目testupload ...

  8. input图片上传并显示查看判断图片类型

    有一个问题:上传一次在上传一次关闭按钮会出现两次,关闭之后还有一个(改好了可以告诉我我在修正过来) <div id="box"> <div class=" ...

  9. 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具

    直接上代码,其中上传功能需要自己配置允许跨域的文件服务器地址~ 或者将html文件贴到您的站点下同源上传也OK. 支持: 不同尺寸图片获取. 原图缩小放大. 原图移动. 选择框大小改变. 下载选中的区 ...

随机推荐

  1. 烂泥:【解决】修改LVM卷组名重启系统后,无法进入进入系统

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 一台服务器系统已经安装完毕,但是LVM的卷组vg使用的是默认的VolGroup名称,使用起来感觉不舒服,打算把这个卷组名称修改为vg. 先来查看系统中有 ...

  2. java.util.Date与java.sql.Date

    我数据库里用到了日期类型.用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型 Date dt; 会报错,查了一下才发现有java.util.D ...

  3. WPF捕获未处理的异常

     WPF程序中,对于异常的捕获一般使用try/catch块.就像程序中的bug一样,很难保证程序中所有的异常都能够通过try/catch捕获.如果异常没有被捕获,轻则影响用户体验,严重时会导致数据丢失 ...

  4. SpringMVC从入门到精通之第四章

    第一个知识点:@Controller注解,用于标识这个类是一个后端控制器(类似struts中的action),主要作用就是接受页面的参数,转发页面.中间的业务逻辑是调用业务类处理的这个就是MVC设计模 ...

  5. li标签包含img的问题

    我们在制作页面时,经常有可能碰到这样的设计: li   图一   图一的布局代码如下:   <ul>     <li><img src=”pic1.jpg” />& ...

  6. 用mysql触发器实现log记录

    首先建立两张测试用表 mysql> desc pay; +-------+---------------+------+-----+---------+----------------+ | F ...

  7. MySQL 的乐观并发控制Optimistic concurrency control

    默认情况下, MySQL的Innodb事务隔离级别是重复读 repeatable read, SELECT @@GLOBAL.tx_isolation, @@tx_isolation;REPEATAB ...

  8. Java:对象的强、软、弱和虚引用

    1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK ...

  9. Java集合系列:-----------04fail-fast总结(通过ArrayList来说明fail-fast的原理以及解决办法)

    前面,我们已经学习了ArrayList.接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解.内容包括::1 fail-fast简介2 fail-fast示例3 f ...

  10. 【MySql】存储过程添加事务

    存储过程使用SQLException捕获SQL错误,然后处理: 我们可以在MySQL存储过程中捕获SQL错误,然后通过事务判断,回滚(ROLLBACK)还是提交(COMMIT). CREATE PRO ...