使用到了ajaxfileupload.js插件,但是在ie浏览器内遇到了问题,点击按钮触发file的点击事件在谷歌浏览器内是没有问题的,但是到了ie浏览器点击以后事件完全没有执行。最后发现ie的浏览器机制不一样,不能用按钮去触发file点击事件,只能点击file事件才能上传,

但是file的样式并不满足我的需求,解决方法:

我把file按钮悬浮到上传按钮上方,然后设置它的宽度跟高度跟上传按钮一样,再把file按钮滤镜透明,这样不就实现我点击上传按钮触发file事件了,而不是中间多操作了一次:

用的到的样式: position:absolute;filter:alpha(opacity=0);opacity:0;这样就能兼容ie跟谷歌的滤镜透明效果

前端代码:

$(function () {$("#file1").change(function () {ajaxFileUpload();});
})
function ajaxFileUpload() {$.ajaxFileUpload({url: 'Tool_CompanyWebimg.ashx', //用于文件上传的服务器端请求地址secureuri: false, //是否需要安全协议,一般设置为falsefileElementId: 'file1', //文件上传域的IDdataType: 'text', //返回值类型 一般设置为jsonsuccess: function (d)  //服务器成功响应处理函数{ }});$("#file1").val("");//清空file的值$("#file1").change(function () {//不知为何执行一次以后change事件会被注销掉,再绑定次就行ajaxFileUpload();});
}

后端代码:

Context.Response.ContentType = "text/html";
//获取上传文件队列
HttpServerUtility server = context.Server;
context.Response.Charset = "utf-8";
//获取上传文件队列
HttpPostedFile oFile = context.Request.Files["file"];
if (oFile != null)
{//判断文件格式GIF , JPG , pngvar geshi = oFile.FileName.Split('.')[oFile.FileName.Split('.').Length - 1].ToUpper();if (geshi == "GIF" || geshi == "JPG" || geshi == "PNG"){if (oFile.ContentLength < 102400){string dateFolder = HttpContext.Current.Server.MapPath("\\bmseek\\member\\Uploads\\");string guidFileName = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")).ToString("yyyyMMddHHmmssffff") + Path.GetExtension(oFile.FileName).ToLower();oFile.SaveAs(dateFolder + "\\" + guidFileName);context.Response.Write(guidFileName);}else{context.Response.Write("大小超过了102400");}}else{context.Response.Write("不是图形类型");}
}

火狐跟open浏览器因为公司暂时不要求支持也没去测试了,理论上是兼容的

兼容ie跟谷歌上传文件相关推荐

  1. IE兼容笔记(一):兼容IE9表单上传文件

    几年前做兼容IE8的pc端项目的时候就遇到文件上传的需求,当时也是查看文档来解决IE9以下不支持formData的问题.由于之前没有写博客的习惯,最近又遇到这样的需求,所以写出来想帮助需要用到的朋友. ...

  2. 浏览器兼容模式下,上传文件问题

    在浏览器的兼容模式下,页面没有上传图片的时候,file != null && file.Count > 0 && file[""] != nu ...

  3. python操作谷歌浏览器上传文件封装

    在谷歌浏览器打开某个页面(举个例子,chrom浏览器版的百度网盘上传文件),点击上传文件时,会出现上面的弹框,因为这个弹框是属于"操作系统的行为",selenium是不能定位到的, ...

  4. chrome浏览器上传文件延迟_谷歌Chrome上传文件未响应的解决办法

    [摘要] 这几天笔者在使用Chrome的时候遇到一个令人蛋疼的问题:使用Chrome上传文件会未响应,而这个锅竟然是搜狗输入法要背的. 谷歌Chrome可以说是目前最好用的浏览器之一了,而且Chrom ...

  5. 后台系统上传文件回显上传进度条

    2019独角兽企业重金招聘Python工程师标准>>>   大家有必要看到文末 xhr传统的AJAX传输对象,在做后台系统的时候经常遇到文件上传的情景,以往的xhr已经能够应对文件表 ...

  6. 谷歌浏览器上传文件就无响应20180822更新

    针对谷歌版本: 68.0.3440.106 最近更新了谷歌浏览器,各种不适应中 方法一: 谷歌浏览器图标-右键-高级-以管理员身份运行勾选=方法失败: 方法二: 地址栏输入:chrome://plug ...

  7. plupload上传文件碰到的问题

    背景:公司的老项目,上传文件使用的是swfupload插件(该插件依赖的是flash,使用的原因可能是当时这个插件有进度条等一系列的配置),但是现在该项目要求兼容火狐,从2020年1月份火狐和谷歌已经 ...

  8. html ajax打包成app,利用HTML5与ajax完成拖拽上传文件

    前言 基于ajax的异步模式的上传控件,基本功能如下: 拖拽上传(利用HTML5新增特定 拖拽事件 以及 event的dataTransfer属性) 单文件/多文件切换(利用php实现单/多文件上传) ...

  9. java使用uploadify上传文件

    一.简介 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示:可以上传多个文件: 详细的使用方法网上有很多,建议到官网参考,这里仅仅展示其使用的效果: 官网:www.upl ...

最新文章

  1. C语言关闭日志文件时忘了将日志文件全局变量指针置为NULL
  2. 如何关闭华为自动杀进程_手机自动扣费该如何删除,教你正确关闭,我们要知道!...
  3. Android JUnit测试说明和实例演示
  4. python下载教程win10-win10系统下如何安装Python软件
  5. 使用Ubuntu挂载NTFS格式分区
  6. 图解Windows下使用SSH Secure Shell Client远程连接Linux
  7. 读书笔记--101个shell脚本 之#13--猜数字
  8. android自定义dialog 例子,android dialog自定义实例详解
  9. java怎么设置命令行参数_java 命令行参数
  10. 绝大部分投资者没资格谈心态
  11. mysql 命令类型_mysql 基本命令(3)-数据类型和运算符
  12. Excel·VBA数组排列函数
  13. 三大裂变方案直接套用,百格活动教你如何成为裂变营销专家
  14. js 调用 百度/腾讯/高德地图app 导航 初始位置为我的位置
  15. RT-Thread Studio配置连接WIFI模块
  16. 使用HTML5 select标签来实现更改网页背景颜色
  17. STC15官方库函数
  18. docker 分析cpu占用过高
  19. ins07001 oracle,社区
  20. C语言错误 error C2059

热门文章

  1. python txt提取特定数据_Python提取列表中的内容 用“python”怎么提取文件里的指定内容?...
  2. java 枚举 或运算_Objective-C 枚举 中位运算 的使用
  3. 计算机应用研究投稿,计算机应用研究
  4. vscode更改编码_装上后这 10个扩展后,VSCode 真的是无敌的存在
  5. c语言源程序的下载,编程(C语言源程序代码)
  6. matlab labs,DOCOMO Beijing Labs 借助 MATLAB 将移动通信技术的开发时间缩短 50%
  7. python 字符串切割例题_Python字符串及练习题
  8. Linux文件系统中的inode节点详细介绍
  9. 借花献佛!docker讲解视频
  10. java文件下载大小限制,完整PDF