仿iframe效果Aajx文件上传实例


Posted in Javascript onNovember 18, 2016

前段时间在解决ajax上传文件时折腾了好一阵。直接用$.post上传文本信息肯定是没有问题的。但是$.post直接上传图片是不可行的。

后来看到网上的一些解决方案,有现成的ajax上传文件的封装的方法也有利用flash的。flash确实是个好方法 但是不是每个人都会flash的而且下载下来现成的方法要做修改也不是件易事,且文件相对较大。最后只好模拟iframe来实现。发现相当的简单。

html:

<iframe name="ajaxUpload" style="display:none"></iframe> 
<form name="from1" id="from1" method="post" action="url" enctype="multipart/form-data"target="ajaxUpload"> 
 <table> 
  <tr> 
    <td>附件:</td> 
    <td><input type="file" id="document" name="document"/></td> 
  </tr> 
 </table> 
 </form>

这里是重点。要上传文件enctype这个属性不可少,target的值改为iframe的name的值。

下面写一下js代码,我是用的jQuery所以在用的时候载入jquery的库是必不可少的。

$(function(){ 
     if($.browser.msie){ 
       window.form1.submit();}else{ 
       $("#form1").submit();} 
    });

这里是做了一个浏览器版本的判断,因为IE是不太符合规范的一个浏览器,尤其是IE6。IE6是不直接支持$("#idName").submit();这种方式的。

服务端如下,还得返回一个值,直接submit是无法返回值的

public void Upload() 
{ 
  HttpPostedBase ff=Request.Files["document"];//这里是获取上传的文件流,也可以用索引值来表示如果是多个文件的话 
  string fileName=System.DateTime.Now+ff.FileName.ToString();  //这里取出来的文件名是没有后缀的,所以要保存的话还需要取出文件拓展名。这里就不写过细,只是为描述这样一个思路。 
  try 
  { 
    SaveAs(documentPath+fileName+extendtionName); 
    Response.Write("<script type='text/javascript' type='language'>parent.window.callBackMethod('上传成功');</scrpt>"); 
  } 
  catch 
  { 
    Response.Write("<script type='text/javascript' type='language'>parent.window.callBackMethod('上传失败');</scrpt>"); //parent.window.methodName();这个是JS调用父页的方法。因为现在模拟一个iframe上传文件,这个iframe的作用就是一个中间站的作用。在父页点击上传后通过target会将页面文档流传入iframe中再上传服务端作处理。服务端有响应之后然后再在iframe里面显示出来,而不是直接在父页面显示出结果。这里可能就是一个alert()弹出一个对话框提示一下,如果是这样那么不调父页方法也行。如果想把这提示的内容丰富一点比如弹出个类似人人网的蓝色的对话框之类的。 
   } 
}

模拟iframe其实是页面局部更新,但是页面中的这个iframe没有内容而且还是不显示的,所以它刷新了完全不会影响到整个页面。

以上这篇仿iframe效果Aajx文件上传实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用window.name实现windowStorage代码分享
Jan 02 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
Apr 15 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
关于webuploader插件使用过程遇到的小问题
Nov 07 Javascript
Jquery Easyui日历组件Calender使用详解(23)
Dec 18 Javascript
JS中实现函数return多个返回值的实例
Feb 21 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
使用angular-cli webpack创建多个包的方法
Oct 16 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
Apr 07 Javascript
JS使用for in有序获取对象数据
May 19 Javascript
JavaScript之cookie技术详解
Nov 18 #Javascript
js前端解决跨域问题的8种方案(最新最全)
Nov 18 #Javascript
js前端实现多图图片上传预览的两个方法(推荐)
Nov 18 #Javascript
js实时获取窗口大小变化的实例代码
Nov 18 #Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
Nov 18 #Javascript
整理一下常见的IE错误
Nov 18 #Javascript
require、backbone等重构手机图片查看器
Nov 17 #Javascript
You might like
php将日期格式转换成xx天前的格式
2015/04/16 PHP
php检测文本的编码
2015/07/26 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
js 函数的副作用分析
2011/08/23 Javascript
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
Angular CLI 安装和使用教程
2017/09/13 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
用Python逐行分析文件方法
2019/01/28 Python
python实现抽奖小程序
2020/04/15 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
基于python代码批量处理图片resize
2020/06/04 Python
浅谈Python中的字符串
2020/06/10 Python
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
木工主管岗位职责
2013/12/08 职场文书
软件售后服务承诺书
2014/05/21 职场文书
导航工程专业自荐信
2014/09/02 职场文书
李强为自己工作观后感
2015/06/11 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS