Jquery ajaxsubmit上传图片实现代码


Posted in Javascript onNovember 04, 2010

而且未建立统一上传函数。于是将代码改造了。心想来个ajax异步上传图片吧,这技术应该很老套了。于是直接打开强大的cnblogs轻松的找到了 这篇文章 直接依葫芦画瓢,将该作者的劳动成果直接“拿来主义了”。很快就把代码全改造了。可是当我把程序发布到服务器上的时问题来了。上传文件失效了!汗~ 都是偷懒造成的恶果。继续打开先前参考的那篇文章。原来作者解释了只能在本地使用而不能发布到服务器上。心想我难道还得用 iframe + http post 这个 郁闷的方式么??

于是不甘心的我打开了更加强大的google,开始全球搜索寻求解决方案,终于功夫不负有心人。找到了 "jquery.form.js" 。

异步上传图片的步骤如下:

1.引用 jquery js 框架(这东西的好处无需多论)后再引用 “jquery.form.js”。
2.建立一般处理程序 ashx。
核心代码如下:
html:

<asp:Content ID="Content3" ContentPlaceHolderID="Head" runat="server"> 
<script src="<%=Url.Content("~/Scripts/jquery-1.4.1.js") %>" type="text/javascript"></script> 
<script src="<%=Url.Content("~/Scripts/jquery.form.js") %>" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function () { 
//上传图片 
$("#btnUpload").click(function () { 
if ($("#flUpload").val() == "") { 
alert("请选择一个图片文件,再点击上传。"); 
return; 
} 
$('#UpLoadForm').ajaxSubmit({ 
success: function (html, status) { 
var result = html.replace("<pre>", ""); 
result = result.replace("</pre>", ""); 
$("#image").attr('src', result); 
alert(result); 
} 
}); 
}); 
});

ashx 如下:
namespace TestMvc.Utility 
{ 
/// <summary> 
/// Summary description for PicUploadHander 
/// </summary> 
public class PicUploadHander : IHttpHandler 
{ public void ProcessRequest(HttpContext context) 
{ 
context.Response.ContentType = "text/plain"; 
//验证上传的权限TODO 
string _fileNamePath = ""; 
try 
{ 
_fileNamePath = context.Request.Files[0].FileName; 
//开始上传 
string _savedFileResult = UpLoadImage(_fileNamePath, context); 
context.Response.Write(_savedFileResult); 
} 
catch 
{ 
context.Response.Write("上传提交出错"); 
} 
}

注:整个上传使用ajax 异步数据,同时jquery回调出上传成功后图片在服务器上的相对路径。总的来说此方式相对传统的上传图片方式要强一些。
本例代码在此下载,FireFox 下测试通过。http://xiazai.3water.com/201011/yuanma/AjaxUploadPic.rar
Javascript 相关文章推荐
读jQuery之十四 (触发事件核心方法)
Aug 23 Javascript
SeaJS入门教程系列之使用SeaJS(二)
Mar 03 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
Aug 27 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 Javascript
简单实现JS上传图片预览功能
Apr 14 Javascript
Webpack中css-loader和less-loader的使用教程
Apr 27 Javascript
基于Vue实例对象的数据选项
Aug 09 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
Jun 06 Javascript
JavaScript中this关键字用法实例分析
Aug 24 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 Javascript
微信小程序中的列表切换功能实例代码详解
Jun 09 Javascript
QUnit jQuery的TDD框架
Nov 04 #Javascript
基于jQuery的仿flash的广告轮播代码
Nov 04 #Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
Nov 02 #Javascript
关于document.cookie的使用javascript
Oct 29 #Javascript
深入理解JavaScript定时机制
Oct 29 #Javascript
在JS中最常看到切最容易迷惑的语法(转)
Oct 29 #Javascript
ExtJS 入门
Oct 29 #Javascript
You might like
PHP实现Socket服务器的代码
2008/04/03 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php获取图片信息的方法详解
2015/12/10 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
初步探究Python程序的执行原理
2015/04/11 Python
复习Python中的字符串知识点
2015/04/14 Python
python实现类的静态变量用法实例
2015/05/08 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
COSETTE官网:奢华,每天
2020/03/22 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
大学毕业生通用求职信
2013/09/28 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
人事助理自荐信
2014/02/02 职场文书
优秀老员工获奖感言
2014/02/15 职场文书
办公室班子四风问题对照检查材料
2014/10/04 职场文书
淘宝好评语句大全
2014/12/31 职场文书
社区母亲节活动总结
2015/02/10 职场文书