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 相关文章推荐
替代window.event.srcElement效果的可兼容性的函数
Dec 18 Javascript
jquery prop的使用介绍及与attr的区别
Dec 19 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
JQuery遍历元素的后代和同胞实现方法
Sep 18 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
Aug 16 Javascript
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
Mar 01 Javascript
JavaScript引用类型Object常见用法实例分析
Aug 08 Javascript
深入理解令牌认证机制(token)
Aug 22 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
Oct 28 Javascript
5个实用的JavaScript新特性
Jun 16 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获取某个目录大小的代码
2008/09/10 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
javascript引导程序
2008/10/26 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
javascript实现简易计算器
2017/02/01 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
以一段代码为实例快速入门Python2.7
2015/03/31 Python
python实现数据库跨服务器迁移
2018/04/12 Python
Python帮你识破双11的套路
2019/11/11 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
家电业务员岗位职责
2014/03/10 职场文书
校庆接待方案
2014/03/18 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python
Python作用域和名称空间的详细介绍
2022/04/13 Python