@using (Ajax.BeginForm("AddMessages", "MenuInfo", new AjaxOptions { HttpMethod = "post", OnSuccess = "Successd" }, new { @id = "from1", enctype = "multipart/form-data" }))  //这里最好还是加上 enctype = "multipart/form-data" }
            {
        <input  id="IconUrl" name="IconUrl"  >

<input type="file" id="files" name="files" value="点击选择图片" /> 
          }

JS代码

   function fileUp() {
            $("#files").change(function () {
                if ($(this).val()) {//选择了图片上传的时候,异步提交
                    $("#from1").ajaxSubmit({  
                        type: "Post",/*设置表单以post方法提交*/
                        dataType: "text", /*设置返回值类型为文本*/
                        url: '/MenuInfo/UploadImage', /*设置post提交到的页面*/
                        success: function (data) {
                            $("#IconUrl").val(data); //把返回来的地址赋到那个input上
                            $("#files").val("");//把值去掉
                        }    })   }   })  }

后台代码

      public ActionResult UploadImage() {
            if (Request.Files["files"] != null)//判断是否能接收到上传的图片
            {
                var imgurl = Request.Files["files"];//得到上传图片
                string fileEx = Path.GetExtension(imgurl.FileName);
                if (fileEx == ".jpg" || fileEx == ".jpeg")
                { //这储存这个类型 
                    string imagePath = "/Upload/Images/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
                    if (!Directory.Exists(imagePath))
                    {//判断是否有这个文件夹没有创建一个
                        Directory.CreateDirectory(Server.MapPath(imagePath));
                    }
                    //写好保存路径存放
                    string fileName = imagePath + Guid.NewGuid().ToString() + imgurl.FileName;
                    imgurl.SaveAs(Server.MapPath(fileName));
                    return Content(fileName);
                }
                return Content("只支持保存.jpg或者.jpeg格式的图片");
            }
            else {
                 return Content("保存失败");
            }   }

在.net MVC中异步上传图片或者文件的更多相关文章

  1. Mvc下异步断点续传大文件

    最近公司一同事咨询了一个MVC项目下上传大文件时遇到的问题,问题描述如下: MVC项目中,当上传比较大的文件时,速度非常慢,小文件基本没有影响. 原因分析: 如果是用传统的form表单去提交的话,会将 ...

  2. ASP.NET MVC中的 _ViewStart.cshtml文件的作用【摘抄】

    ViewStart 在前面的例子中,每一个视图都是使用Layout 属性来指定它的布局.如果多个视图使用同一个布局,就会产生冗余,并且很难维护. _ViewStart.cshtml 页面可用来消除这种 ...

  3. asp.net mvc中应用缓存依赖文件(xml)的一个小demo

    最近项目中加了一个通用模块,就是根据一些特殊的tag,然后根据处理这些tag在同一个视图中加载不同的model(个人觉得此功能无任何意义,只是把不同的代码放在了同一个View中). 我的处理思路是这样 ...

  4. ASP.NET MVC中的Global.asax文件

    1.global.asax文件概述 global.asax这个文件包含全局应用程序事件的事件处理程序.它响应应用程序级别和会话级别事件的代码. 运行时, Global.asax 将被编译成一个动态生成 ...

  5. thinkphp 使用插件异步上传图片或者文件

    使用tp做一些上传的功能,的确挺方便.但是在一些特殊情况下无法单独的使用tp的上传功能, 或者需要做一些比较酷炫的上传效果,这里就需要用到框架了. 我在这里使用的是uploadify上传插件. 首先需 ...

  6. ASP.NET MVC 中单独的JS文件中获取Controller中设定的值

    1,在Controller中的Action 中将指定值写上.       //       // GET: /Home/       public ActionResult Index()       ...

  7. MVC 中如果js,css文件放到视图文件夹无法访问的解决办法

    在视图配置文件web.config 中添加如下节点,注意:此web.config 是视图文件夹中的,在你的views视图中可以找到<system.webServer>开头的<hand ...

  8. 在Asp.Net MVC中实现上传图片并显示

    实现思路大概分为两步: 1. 通过上传接口,将图片上传到服务器,返回文件路径给客户端: 2. 点击保存上传,将文件路径保存到数据库,如果是多张图片,路径用逗号分隔. 核心上传代码: /// <s ...

  9. 解决asp.net mvc中*.resx资源文件访问报错

    个人笔记 问题重现 在asp.net mvc中,使用资源文件会出现一个问题,例如: 紧接着我进入视图界面,输入下面代码: <a href="javascript:void(0);&qu ...

随机推荐

  1. HDU-1037(水水水题)

    Keep on Truckin' Problem Description Boudreaux and Thibodeaux are on the road again . . . "Boud ...

  2. Actioncontext跟ServletActionContext的区别---未完待续

    //public class BaseAction extends ActionSupport{ public static HttpServletRequest getRequest(){ retu ...

  3. CI框架篇之类库篇--基础(1)

    使用 CodeIgniter 类库: 所有的类库文件存放在system/libraries 文件夹.大多数情况下你需要预先在controller中初始化后才能使用它们: $this->load- ...

  4. .Net程序员学习Linux(一)

    本次知识点:Linux系统的多终端切换,linux下的用户,linux远程访问工具使用,linux下重要的目录,命令的组成,通配符,linux的路径问题,文件操作的综合运用 为什么学习linux? 1 ...

  5. 面向报文(UDP)和面向字节流(TCP)的区别

    转载:http://blog.csdn.net/wanghaobo920/article/details/11877589 面向报文(UDP)和面向字节流(TCP)的区别 面向报文的传输方式是应用层交 ...

  6. Android 设计随便说说之简单实践(合理组合)

    上一篇(Android 设计随便说说之简单实践(模块划分))例举了应用商店设计来说明怎么做模块划分.模块划分主要依赖于第一是业务需求,具体是怎么样的业务.应用商店则包括两个业务,就是向用户展示appl ...

  7. union与union all 的区别

    Union与Union All的区别 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并 ...

  8. LIB库加载方法-引用百度百科

    LIB库加载方法,有三种,如下: 1.LIB文件直接加入到工程文件列表中 在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中\"Add Files to Project\ ...

  9. Linq- ExcuteQuery用法

    DataContext.ExecuteQuery<TResult> 方法 (String, Object[]) 语法: public IEnumerable<TResult> ...

  10. iOS消息推送机制

    iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务 ...