今天在这里介绍一下ajax上传文件。其实也不算是真的使用xmlhttprequest上传,只是使用了iframe实现了无刷新上传而已,最多也只算 是仿ajax上传文件。然而网上关于使用xmlhttprequest上传文件的却是少之又少。即使有,对其他浏览器的兼容也是不敢恭维。到是有专门的公 司提供这样的解决方案,如:ajaxuploader.com提供各式各样的ajax上传方式。呵呵,只是它不是开源而且是针对.net平台的。废话少说了,我们今天就使用jquery+iframe来实现无刷新上传。以下是解决方案图:

(图1)

下面是上传完的界面:

接下来看一下主要代码:

1、在default.aspx页面,先引用jquery及其插件:

<script type="text/javascript" src="scripts/jquery.js"></script>
 <script type="text/javascript" src="scripts/interface.js"></script>

2、接着我们来看一下default.aspx页面的jquery代码,注解已经都在里面的,相信只要会jquery都能看得懂,我就不再啰嗦了。

Code

3、再来看一下upload.aspx页面都有哪些东西。

Code

当然在这个页面你也得做第一步该做的事,谁叫我们都用上了jquery呢,呵呵。

4、upload.aspx页面元素都有哪些呢?

Code

记住一定要给form的method、enctype属性分别赋上"post"、"multipart/form-data",这样才能保证upload.aspx.cs里面可以获取到上传的文件信息。

5、最后看一下upload.aspx.cs代码,都是些上传文件的代码,我只贴出部分的主要代码。

Code

WriteJs方法为:

Code

好了!至此,整个例子就都完成了。

可能逻辑上讲得不是很好,请大家多多谅解啊!

.net ajax式上传文件的更多相关文章

  1. Ajax方式上传文件

    用到两个对象 第一个对象:FormData 第二个对象:XMLHttpRequest 目前新版的Firefox 与 Chrome 等支持HTML5的浏览器完美的支持这两个对象,但IE9尚未支持 For ...

  2. koa2:通过Ajax方式上传文件,使用FormData进行Ajax请求

    koa2通过表单上传的网上很多,但通过Ajax方式上传文件,使用FormData进行Ajax请求,不好找. 参考了这个用base64上传图片的例子.https://github.com/Yuki-Mi ...

  3. (23)ajax实现上传文件的功能

    form表单上传文件 urls.py from django.conf.urls import urlfrom django.contrib import adminfrom app01 import ...

  4. SSM框架下,使用ajax请求上传文件(doc\docx\excel\图片等)

    1.准备工作 1.1.添加上传必要jar包 <dependency> <groupId>commons-io</groupId> <artifactId> ...

  5. ajax异步上传文件和表单同步上传文件 的区别

    1. 用表单上传文件(以照片为例)-同步上传 html部分代码:这里请求地址index.php <!DOCTYPE html> <html lang="en"&g ...

  6. ajax如何上传文件(整理)

    ajax如何上传文件(整理) 一.总结 一句话总结:用FormData,FormData+ajax=异步上传二进制文件 <form enctype="multipart/form-da ...

  7. django中通过文件和Ajax来上传文件

    一.通过form表单来上传文件 1.在html模板中 <form action="/index/" method="post" enctype=" ...

  8. ajax实现上传文件

      1.html部分 <input style="width: 280px" type="file" name="upLoadProjectPl ...

  9. 通过Ajax方式上传文件,使用FormData进行Ajax请求

    通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...

随机推荐

  1. python 数据类型 -- 元组

    元组其实是一种只读列表, 不能增,改, 只可以查询 对于不可变的信息将使用元组:例如数据连接配置 元组的两个方法: index, count >>> r = (1,1,2,3) &g ...

  2. MySQL学习记录--操作时间数据

    1.返回日期的时间函数 date_add() : 可以为指定日期增加/减少任意一段时间间隔.下面举例将当前日期增加一个月和减少一个月 mysql month) as add_one_month; +- ...

  3. [java] 汇率换算器实现(2)

    [java] 汇率换算器实现(2) // */ // ]]> // */ // ]]>   [java] 汇率换算器实现(2) Table of Contents 1 系列文章地址 2 前 ...

  4. Effective Java 03 Enforce the singleton property with a private constructor or an enum type

    Principle When implement the singleton pattern please decorate the INSTANCE field with "static ...

  5. android 三种定位方式

    http://www.cnblogs.com/oudi/archive/2012/03/22/2411509.html 最近在看android关于定位的方式,查了很多资料,也做了相关实验,在手机上做了 ...

  6. Linux命令后台执行技巧小结

    1.最简单的方法: command & 例如: top & 此时显示job编号和后台进程号 [] 2.正在运行的程序放入后台 Ctrl - Z 3.查看有哪些后台进程及状态 jobs ...

  7. iOS导航栏主题

    主要是取得导航栏的appearance对象,操作它就设置导航栏的主题 UINavigationBar *navBar = [UINavigationBar appearance]; 常用主题设置 导航 ...

  8. ABP领域层知识回顾之---工作单元

    1. 前言   在上一篇博文中(http://www.cnblogs.com/xiyin/p/6842958.html) 我们讲到了ABP领域层的仓储.这边博文我们来讲 工作单元.个人觉得比较重要.文 ...

  9. robot 中文 乱码 问题 的处理

    第一种方式: def unic(item):  if isinstance(item, unicode):      return item  if isinstance(item, (bytes, ...

  10. Mike and strings CodeForces - 798B (又水又坑)

    题目链接 题意:英语很简单,自己取读吧. 思路: 既然n和i字符串的长度都很小,最大才50,那么就是只要能出答案就任意暴力瞎搞. 本人本着暴力瞎搞的初衷,写了又臭又长的200多行(代码框架占了50行) ...