一、前台页面

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title><script src="js/jquery-1.8.2.min.js" type="text/javascript"></script><script src="js/ajaxfileupload.js"></script><script type="text/javascript">function CheckFile() {$.ajaxFileUpload({url: 'upload.ashx?time=' + new Date(),secureuri: false,fileElementId: 'fuFileLoad', //上传控件ID  dataType: 'json', //返回值类型 一般设置为jsonsuccess: function (data, status) {var jsonData = $.parseJSON(data);alert(jsonData.Eor);if (jsonData.Eor == "succss") {alert(jsonData.Msg);} else {alert(jsonData.Msg);}},error: function (data, status, e) {alert(e);   //就是在这弹出“语法错误”   }});}</script>
</head>
<body><form id="form1" runat="server"><asp:FileUpload ID="fuFileLoad" runat="server" οnchange="CheckFile();" /></form>
</body>
</html>

二、上传功能代码 upload.ashx

using System;
using System.IO;
using System.Web;
using System.Web.Script.Serialization;public class upload : IHttpHandler {public void ProcessRequest (HttpContext context) {//文件大小限制10Mconst int maxSize = 10485760;//定义允许上传的文件扩展名var ext = new[] { "rar", "zip", "gif", "jpg", "jpeg", "png", "bmp", "xls", "xlsx", "doc", "docx", "et", "wps" };string strExt = "";foreach (var a in ext){strExt += a + "/";}strExt = strExt.TrimEnd('/');string savePath = "/upLoads/";                //文件保存路径var resp = new UploadResponse();HttpFileCollection imgFile = context.Request.Files;if (imgFile.Count > 0){string fileExt = Path.GetExtension(imgFile[0].FileName);           //获得扩展名if (string.IsNullOrEmpty(fileExt) || Array.IndexOf(ext, fileExt.Substring(1).ToLower()) < 0){resp.Eor = "error";resp.Msg = string.Format("扩展名为{0}的文件不允许上传!\n只允许上传{1}格式的文件。", fileExt, strExt);}else{if (imgFile[0].InputStream.Length > maxSize){resp.Eor = "error";resp.Msg = "上传文件大小超过限制!";}else{string fileNewName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + fileExt;     //新的文件名try{SaveFile(imgFile[0], context.Server.MapPath(savePath), fileNewName);       //保存文件resp.Eor = "succss";resp.Msg = "上传成功! 文件大小为:" + imgFile[0].ContentLength;resp.ImgUrl = savePath + fileNewName;resp.FName = fileNewName;resp.OName = imgFile[0].FileName;}catch (Exception ex){resp.Eor = "error";resp.Msg = ex.ToString();}}}}else{resp.Eor = "error";resp.Msg = "请选择文件!";}context.Response.ContentType = "text/html";context.Response.Write(new JavaScriptSerializer().Serialize(resp));context.Response.End();}private void SaveFile(HttpPostedFile imgFile, string savePath, string fileName){if (!Directory.Exists(savePath))    //判断文件存放路径是否存在{Directory.CreateDirectory(savePath);}imgFile.SaveAs(Path.Combine(savePath, fileName));}public class UploadResponse{public string Eor { get; set; }public string Msg { get; set; }public string ImgUrl { get; set; }public string FName { get; set; }public string OName { get; set; }}public bool IsReusable {get {return false;}}}

三、返回的json数据调整

四、源代码下载地址:http://pan.baidu.com/s/1jGo1wzW

热烈欢迎大家吐槽。

转载于:https://www.cnblogs.com/wsk198726/p/4773353.html

AjaxFileUpload 在C#中应用相关推荐

  1. JQuery文件上传插件ajaxFileUpload在Asp.net MVC中的使用[转载]

    转载:https://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0 ajaxFileUpload简介 ajaxFileUpload插件是一个非常简单的基 ...

  2. ajax文件上传报400,js ajaxfileupload.js上传报错的解决方法

    相信大家在工作中经常用到文件上传的操作,因为我是搞前端的,所以这里主要是介绍ajax在前端中的操作.代码我省略的比较多,直接拿js那里的 $.ajaxFileUpload({ url:'www.cod ...

  3. GNU Make 使用手册(于凤昌中译版)

    GNU Make 使用手册(中译版) 翻译:于凤昌 GNU make Version 3.79 April 2000 Richard M. Stallman and Roland McGrath 1 ...

  4. jcrop php 头像裁剪,上传裁剪头像(Jcrop)

    上传裁剪头像(Jcrop) -- by Stephen 2016/1/24 20:17:21 总体思路:用户点击选择头像按钮,选好图片后jcrop所在的div以遮罩层的形式显示,此时异步更新图片的sr ...

  5. 面试:第十二章:所有总结

    Java基础 java基本类型哪些,所占字节 byte :1个字节 short :2个字节 char :2个字节 int :4个字节 long :8个字节 float :4个字节 double :8个 ...

  6. linux内核分析(转自某位大哥网上的笔记)

    启动 当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码.BIOS先进行一系列的系统自检,然后初始化位于地址0的中断 ...

  7. java ajaxupload_Java中利用ajaxfileupload.js组件实现文件的上传功能

    概要: 在Java中,利用ajaxfileupload.js+commons-fileupload-1.3.1.jar 实现文件上传功能. 关键字: Java,上传,ajaxfileupload,fi ...

  8. 解决ajaxFileUpload上传文件在ie浏览器中出现下载框的问题

    在开发时用到ajaxFileUpload上传文件,在ie浏览器中会出现下载框的问题,结合网上查到的资料最后解决,在此记录一下,以免以后遇到不知道怎么解决, 前端: 后台: ps:返回值有list改为j ...

  9. 上传身份证照片js_Asp.Net MVC 中JS通过ajaxfileupload上传图片获取身份证姓名、生日、家庭住址等详细信息...

    客户要求用身份证图片上传获取身份证的详细信息就下来研究了一下(现在的客户真的懒 身份证信息都懒得输入了哈哈...),经过慢慢研究,果然皇天不负有心人搞出来了.这个借助的是腾讯的一个SKD  腾讯优图云 ...

最新文章

  1. Web API 接口-JavaScript全部api接口文档
  2. Spring 5.0 源码编译, 403, 404 依赖pom 无法下载问题
  3. 【更新】北京、广东、吉林重名数量查询工具,给孩子起名重名查询
  4. haproxy的acl与或非关系
  5. easyui有没有html编辑器,【easyui】kindeditor富文本(html编辑器)的使用
  6. group by 和 left join 哪个慢_手机自带内存和扩展内存一样吗?哪个更好?
  7. Access把每一天的数据累加_7天学会Power BI分析淘宝数据
  8. Silverlight之工具箱使用1
  9. Sharepoin学习笔记—架构系列—07nSharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2
  10. Linux 给新用户授予、设置Tomcat目录的使用权限
  11. 阿里云服务器mysql内存限制_高性能的MySQL(8)优化服务器配置一内存
  12. 面试题:把字符串转换为整数
  13. oracle 插入n字母,Nhibernate在oracle批量插入失败,求解?
  14. 有效沟通bic法则_职场中5个有效沟通的法则
  15. 想要穷游北京?这些湖光山色的地方人少还景美!
  16. div九宫格图片布局
  17. opencv分别显示彩色图片各通道图片
  18. 人脑VS机器?AI时代经济决策的机遇与挑战?| AI TIME 27
  19. 无人驾驶车辆纵向速度PID控制
  20. 什么是UPS UPS的选购技巧介绍

热门文章

  1. python的难点_初学python的操作难点总结(新手必看篇)
  2. xgboost模型在centos系统下的可视化
  3. linux6.3支持gcc版本,Linux编程中GCC对C++标准支持和如何选择GCC版本使用
  4. php substr四个参数,PHP substr()函数参数解释及用法讲解
  5. 数据结构----数组与广义表专题
  6. 对gitShell的使用
  7. 《系统集成项目管理工程师》必背100个知识点-59项目总结会议
  8. 笔记-项目沟通管理-沟通表达方式
  9. HTML5 基础知识(三)
  10. Node-RED简介与Windows上安装、启动和运行示例