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 相关文章推荐
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
JavaScript全排列的六种算法 具体实现
Jun 29 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
May 18 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
原生JS实现圣旨卷轴展开效果
Mar 06 Javascript
bootstrap suggest搜索建议插件使用详解
Mar 25 Javascript
JavaScript变量类型以及变量作用域详解
Aug 14 Javascript
AngularJs 延时器、计时器实例代码
Sep 16 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
Sep 21 Javascript
微信小程序实现身份证取景框拍摄
Sep 09 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中英混合字符串截取函数代码
2011/07/17 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
理解javascript中的闭包
2017/01/11 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
Python实现的计算马氏距离算法示例
2018/04/03 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
详解Python 解压缩文件
2019/04/09 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
什么是接口(Interface)?
2013/02/01 面试题
优秀的毕业生的自我评价
2013/12/12 职场文书
部队万能检讨书
2014/02/20 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
移风易俗倡议书
2014/04/15 职场文书
平安工地汇报材料
2014/08/19 职场文书
团员自我评价范文
2015/03/10 职场文书
宾馆安全管理制度
2015/08/06 职场文书
你离财务总监还有多远?速览CFO的岗位职责
2019/11/18 职场文书