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 相关文章推荐
javascript getElementsByClassName实现代码
Oct 11 Javascript
JS去除字符串两端空格的简单实例
Dec 27 Javascript
在JS数组特定索引处指定位置插入元素的技巧
Aug 24 Javascript
jQuery中的编程范式详解
Dec 15 Javascript
jQuery的context属性用法实例
Dec 27 Javascript
jquery获取所有选中的checkbox实现代码
May 26 Javascript
ashx文件获取$.ajax()方法发送的数据
May 26 Javascript
Javascript发送AJAX请求实例代码
Aug 21 Javascript
jQuery点击导航栏选中更换样式的实现代码
Jan 23 Javascript
Bootstrap Table使用整理(五)之分页组合查询
Jun 09 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
Feb 28 Javascript
layui输入框中只允许输入整数的实现方法
Sep 18 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
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
js创建数组的简单方法
2016/07/27 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
Python入门篇之对象类型
2014/10/17 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Python登录系统界面实现详解
2019/06/25 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
土木工程应届生自荐信
2013/09/24 职场文书
考试没考好检讨书
2014/01/31 职场文书
怎样填写就业意向
2014/04/02 职场文书
五好关工委申报材料
2014/05/31 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
投诉书范文
2015/07/02 职场文书
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
2022漫威和DC电影上映作品
2022/04/05 欧美动漫
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python