asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)


Posted in Javascript onMay 05, 2016

本文实例讲述了asp.net+jquery.form实现图片异步上传的方法。分享给大家供大家参考,具体如下:

首先我们需要做准备工作:

jquery 点击此处本站下载。

jquery.form.js 点击此处本站下载。

页面JqueryFormTest.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JqueryFormTest.aspx.cs" Inherits="JqueryFormTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <title></title>
 <script src="JS/jquery-1.8.0.js" type="text/javascript"></script>
 <script src="JS/jquery.form.js" type="text/javascript"></script>
 <script type="text/javascript">
  $(function () {
   $("#btn").click(function () {
    $("#fm1").ajaxSubmit({
     url: "img.ashx",
     type: "post",
     success: function (data) {
      alert(data);
      //IE显示图片会默认加上<PRE></PRE>,着必须要把去除掉才能在低版本ie显示
      data = data.replace("<PRE>", "").replace("</PRE>", "");
      $("#divimg").append("<img src='" + data + "' width='200px' height='200px'/>");
      //清空file控件里面的值
      var file = $("#btnfile");
      file.after(file.clone().val(""));
      file.remove();
     }
    });
   });
  })
 </script>
</head>
<body>
 <form id="fm1" method="post">
 <!--method="post"不能省略,在ie里面必不可少-->
 <input type="file" id="btnfile" name="btnfile" value="提交" />
 <br />
 <input type="button" id="btn" value="上传" />
 </form>
 <div id="divimg">
 </div>
</body>
</html>

img.ashx:

<%@ WebHandler Language="C#" Class="img" %>
using System;
using System.Web;
public class img : IHttpHandler {
 public void ProcessRequest (HttpContext context) {
  context.Response.ContentType = "text/plain";
  //获取上传的文件的对象
  HttpPostedFile img = context.Request.Files["btnfile"];
  //获取上传文件的名称
  string s = img.FileName;
  //截取获得上传文件的名称(ie上传会把绝对路径也连带上,这里只得到文件的名称)
  string str = s.Substring(s.LastIndexOf("\\") + 1);
  string path = "~/upload/"+ str;
  //保存文件
  img.SaveAs(context.Server.MapPath(path));
  //HttpRuntime.AppDomainAppVirtualPath主要是获取应用程序虚拟路径名称,因为响应给页面时不会自动添加而导致无法显示图片
  context.Response.Write(HttpRuntime.AppDomainAppVirtualPath + path.Substring(1));//path.Substring(1)用来去除第一个~字符
 }
 public bool IsReusable {
  get {
   return false;
  }
 }
}

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
动态加载jquery库的方法
Feb 12 Javascript
基于Jquery实现万圣节快乐特效
Nov 01 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
Dec 18 Javascript
jQuery 的 ready()的纯js替代方法
Nov 20 Javascript
深入探究node之Transform
Jul 20 Javascript
vue的事件绑定与方法详解
Aug 16 Javascript
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
Oct 25 Javascript
浅谈基于Vue.js的移动组件库cube-ui
Dec 20 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 Javascript
JavaScript ES6 Class类实现原理详解
May 08 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
May 05 #Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
May 05 #Javascript
使用jquery.form.js实现图片上传的方法
May 05 #Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
May 05 #Javascript
浅析JS异步加载进度条
May 05 #Javascript
AngularJS入门(用ng-repeat指令实现循环输出
May 05 #Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
May 04 #Javascript
You might like
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
js+css在交互上的应用
2010/07/18 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
JavaScript判断输入是否为数字类型的方法总结
2017/09/28 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python字典循环添加一键多值的用法实例
2019/01/20 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
Django实现跨域请求过程详解
2019/07/25 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
招商经理岗位职责
2013/11/16 职场文书
成品仓管员工作职责
2013/12/29 职场文书
2014年清明节寄语
2014/04/03 职场文书
亲子活动总结
2014/04/26 职场文书
爱我中华演讲稿
2014/05/20 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
公司保洁员管理制度
2015/08/04 职场文书
vue+element ui实现锚点定位
2021/06/29 Vue.js
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers