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 相关文章推荐
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
Three.js源码阅读笔记(光照部分)
Dec 27 Javascript
Express.JS使用详解
Jul 17 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
AngularJS 霸道的过滤器小结
Apr 26 Javascript
一个可复用的vue分页组件
May 15 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
JavaScript 下载svg图片为png格式
Jun 21 Javascript
vue-router为激活的路由设置样式操作
Jul 18 Javascript
JS画布动态实现黑客帝国背景效果
Nov 08 Javascript
JavaScript实现点击图片换背景
Nov 20 Javascript
在Vue中使用mockjs代码实例
Nov 25 Vue.js
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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
javascript实现轮显新闻标题链接
2007/08/13 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
python实现的系统实用log类实例
2015/06/30 Python
Python运算符重载详解及实例代码
2017/03/07 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
python IP地址转整数
2020/11/20 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
学习十八大精神心得体会
2013/12/31 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
初中军训感想
2015/08/07 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
python xlwt模块的使用解析
2021/04/13 Python
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技