IE9上传图片 json下载问题

2023-12-04 01:08

本文主要是介绍IE9上传图片 json下载问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这东西,找的烧脑壳呦~

IE9上传图片需要前端后端配合,网上有很多方法,我这个是在github找的,地址放在下面,代码核心上传就是ajaxSubmit

加一句,【json下载】问题我这里只会在上传图片之后,后端返回【application/json】才会被IE9拦截后下载。

以及,看到这篇文章的人,应该已经知道IE9上file对象以及常用的那一堆方法不能用的事情了,我就不赘述了……

github地址:https://violay33.github.io/yyy-upload/

一.下面是根据他的代码做出的一些调整:

1.这两upload是要与调接口时候用的参数保持一致

 2.代码里【验证图片大小】这些都被我注释了,具体原因应该是IE或者IE9不支持某些方法

二.前端和后端需要做出什么调整

1.前端:

        ajaxSubmit里面有一条dataType,前端在IE9下上传时需要选用【html】或者【text】,后端的响应头类型,我让后端设置的是【text/html】,后端代码看第2条

我的前端dataType为 text 和 html 返回值:没什么不同

 ajaxSubmit代码:在yyy-upload.js里面,核心就是这个

tempForm.append('upload',opt.fileEle).ajaxSubmit({url: opts.url,type: "POST",timeout: 3000,dataType:"text",   // 是这里呦~success: function (data) {//将文件放回原位if (typeof opt.succCb !== 'undefined') {opt.succCb(data)}opt.fileEle.appendTo(opt.containerEle);tempForm.remove();},error: function (err) {if (typeof opt.failCb !== 'undefined') {opt.failCb(err)}opt.fileEle.appendTo(opt.containerEle);tempForm.remove();}
});

JQuery版本:

 <!-- jquery --> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script><!-- jquery.form.js --><script src="https://cdn.bootcss.com/jquery.form/4.2.2/jquery.form.min.js"></script>

我的demo代码:和github示例好像一样→_→。。。

<template><div><div class="yyy-upload-box"></div></div>
</template><script>
export default {data () {return {obj: null,  }},methods: {},mounted () {$('.yyy-upload-box').imgUpload({immediatelyUpload: true,url: '/common/api/v1/file/uploadIE',maxSize: 0,imgType: ['gif', 'jpeg', 'jpg', 'png', 'bmp'],allowDrag: true,succCb:(data) => {console.log('前端html',data)}});},
}
</script><style></style>

PS:这里我用的是vue-cli4.x的vue框架,github上面下载的js和css文件我是直接丢public里和jquery一起引入了

2.后端(java):

其实我也看不懂java代码,但核心就是让java把上传图片接口的响应类型改成【text/html】,【text/plain】我就没试过了,但找资料看网上说这个也可以,不过懒得试了→_→。。。有一个能用就行

PS:文章来源找不到了,被我关标签页点x点的爽的时候顺手点掉了_(:з」∠)_,但总之就这一句,想办法让你后端加进去

 

三.杂谈

        这个是我做一个围绕富文本为核心的管理系统整出来的,当时客户问适配到IE9,我寻思,vue刚好能适配到IE9,我就答应了,那时候也没做过IE的适配,没想到,这么多问题。

        诶,千言万语汇成一句话,能不适配IE9以下就别适配,能不适配IE就不适配,作为必将被淘汰的IE(我也不知道是我先被淘汰还是IE先被淘汰_(:з」∠)_),诶……词穷了,IE别怪我,毕竟适配你真的还是蛮难受的……

        最后就是那个【IE9下富文本上传图片】,最后也没整出来,毕竟大概率是需要动富文本源码的事儿,简单试了试不行,就想还是算了吧,没那本事。

          以后要还有谁让我适配IE,我就一拳……捶我脑壳上,然后边适配边哭给他看

         TM怎么会有IE呢,诶我TM真是日了狗了,主要因为我写这篇文章的时候,那边IE和IE9还有一堆bug在等我修,诶woc啊啊啊啊啊啊啊!!!!!

 

 

参考链接:

github地址:https://violay33.github.io/yyy-upload/

 

 

 

这篇关于IE9上传图片 json下载问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/451551

相关文章

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页