美文网首页程序员极客教程-前端开发让前端飞
文件上传返回JSON数据,在IE9下提示下载文件

文件上传返回JSON数据,在IE9下提示下载文件

作者: cbw100 | 来源:发表于2018-12-27 23:22 被阅读6次

在项目开发的时候,遇到一个文件上传后,在ie9浏览器下返回JOSN数据,提示保存下载的问题,图下图所示。


ie89.PNG

原因

upload上传使用了两种方式上传文件。对于支持XMLHTTPRequest文件上传的浏览器,使用XMLHTTPRequest上传文件,而对于那些不支持XMLHTTPRequest文件上传的浏览器,转换为iframe来上传文件。

IE9正属于不支持XMLHTTPRequest文件上传浏览器之一。

解决思路:

基于iframe上传文件,对于返回json对象,如果把响应头的content-type设为"application/json",在ie中会弹出下载文件的提示框。解决这个问题的方式是把响应头的content-type的值设为"text/plain"或者"text/html"。

解决方案:

  1. 后台返回json串,而不是json对象,如 return Json(new { state = 1, msg = "" });改为return Content(" {state:1,msg:''}"); 前台ajax接收类型datatype:由json改为text。成功后接收的data转成json对象即可使用: vardata = eval("(" + data1 + ")");

  2. 后台依然返回json对象, returnJson(new { state = 1, msg = "" },"text/html");

    前端不需要改动。

tuiguang.png

相关文章

  • 文件上传返回JSON数据,在IE9下提示下载文件

    在项目开发的时候,遇到一个文件上传后,在ie9浏览器下返回JOSN数据,提示保存下载的问题,图下图所示。 原因 u...

  • jquery.form.js文件上传ie9下bug

    文件上传ie下bug Bug描述:在ie9下上传文件,选择不符合格式的文件并且提示错误,第一次选择的时候提示错误...

  • 10 android网络编程

    HTTP请求方式:HttpURLConnection XML数据解析 JSON数据解析 文件上传 文件下载 调用 ...

  • 千锋的第十天

    一、文件的封装 总结:load(下载)--->读取json文件的内容,读出来的结果返回的是json最外层的数据形式...

  • js 下载流

    前言 js 下载流文件,如果可以下载后端返回流,如果有异常接口返回json,根据错误码友好提示用户,目前只能下载z...

  • responseType使用post方法下载文件

    使用post下载后端返回的excel文件踩的坑。获取到数据之后下载打不开文件,提示格式错误,响应数据类型是appl...

  • 【GO-网络通信】HTTTP Response代码片段

    只发送header 返回普通文本 返回JSON数据 返回XML数据 文件服务 使用HTML模版模板文件:templ...

  • Qt之FTP上传/下载文件操作

    一个简单的Ftp客户端文件上传/下载操作示例。 上传文件 下载文件 总结 上传文件:配置url->加载数据->pu...

  • 纯js实现json文件读取处理下载

    需求分析 用户上传 json 文件,客户端进行处理解析后,返回进行下载 技术选型 基于本身的项目采用了 vue +...

  • java文件下载上传

    文件上传 App图片上传 html文件上传 文件下载 文件下载 版本控制 xml版本控制

网友评论

    本文标题:文件上传返回JSON数据,在IE9下提示下载文件

    本文链接:https://www.haomeiwen.com/subject/busmkqtx.html