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 相关文章推荐
js继承 Base类的源码解析
Dec 30 Javascript
jquery预览图片实现鼠标放上去显示实际大小
Jan 16 Javascript
JS实现添加,替换,删除节点元素的方法
Jun 30 Javascript
ionic环境配置及问题详解
Jun 27 Javascript
微信小程序 页面滑动事件的实例详解
Oct 12 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
如何重置vue打印变量的显示方式
Dec 06 Javascript
javascript动态创建对象的属性详解
Nov 07 Javascript
详解js动态获取浏览器或页面等容器的宽高
Mar 13 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
详解Vue中的MVVM原理和实现方法
Jul 15 Javascript
JavaScript实现五子棋小游戏
Oct 26 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 explode()函数用法、切分字符串
2012/10/03 PHP
php基于session实现数据库交互的类实例
2015/08/03 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
python opencv摄像头的简单应用
2019/06/06 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
python修改字典键(key)的方法
2019/08/05 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
公司市场部岗位职责
2015/04/15 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
golang语言指针操作
2022/04/14 Golang
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技