MVC下载Excel文件:js接受乱码 简单处理办法
来源:互联网 发布:sql数据库课程设计题目 编辑:程序博客网 时间:2024/04/29 17:16
在做考试系统的时候,需要向题库里面批量导入试题。所以在导题之前需要下载一个Excel模版。
在MVC中下载模版,需要创建一个Excel模版,然后发到前台。即点击之后,弹出一个下载框,提示下载(保存位置)。
现象:在MVC中,点击下载模版按钮,不提示下载。
原因:js接受 FileResult类型乱码。
如果是单纯的生成一个特定的Excel的文件,然后发到前台,即没有参数的下载。如果是这样的话直接让Controller创建,返回一个FileResult文件,前台就直接弹窗提示了。
但是下载导入模版,肯定是要根据具体的题型来下载对应的模版。即带参数的下载文件。
第一思路:带参数的查询,肯定要把前台的 "题型"数据传递到后台,然后后台去查找对应的文件。
用js提交数据到Controller,然后生成模版,在发送到前台。
但是使用这种方法,前台在点击下载模版的时候,始终弹窗(不提示下载)……
如果用js事件来提交数据的话,那么接受服务器发过来文件的就成了js里面的success事件处理。这样就带来了一个问题,js接受FileContentResult类型的数据全是乱码。
然后,就开始了js为什么接收到是乱码。查了很多js与 FileResult类型之间的联系。直到看到开源中国社区的一个帖子。
一年前的问题,至今没有人回答……
我想,或许我已经走偏了。用js来向后台传递数据,肯定得找到js乱码的的原因。虽然看起来思路非常简单,但是这不知道如何解决乱码问题真的花不起时间了,
第二思路:直接略过Js用View直接提交数据到后台
改用GET传值,从服务器上拿指定的文件。
即在选择题型的时候给 "下载模版" 的按钮 添加上参数。如图
这样做的好处,就是View直接去调用Controller,Controller创建文件 之后,就可以把数据 直接返回到前台页面(提示下载)
使用GET传值,唯一不好的就是。容易把 代码设计中的 变量以及 值 暴露出来。降低安全性。当然这些在前台显示的时候 可以利用加密解密来进行处理。
这样就可以直接从服务器上拿 文件了。
虽然换了一种方法,可以实现目的。但是感觉不用js与直接与Controller进行控制,有些不方便。用js来控制文件流,有很多值得优化的地方。
在完成功能的基础上,还要继续进行优化。
- MVC下载Excel文件:js接受乱码 简单处理办法
- 下载excel文件名字乱码问题处理
- 下载excel文件名字乱码问题处理
- spring mvc 导出Excel乱码问题解决办法。
- spring mvc 下载excel 文件
- 文件乱码显示处理办法 ubuntu
- 文件下载文件名乱码处理
- SDK Manager 下载文件失败处理办法
- .net MVC 下载文件乱码问题解决方案
- servlet使用迅雷下载excel文件乱码
- Node.js处理excel文件
- Spring MVC 文件下载过程中 出现下载文件乱码
- 中文乱码处理办法
- 中文乱码处理办法
- HttpURLConnection 处理乱码办法
- csv文件导出,excel打开乱码处理
- csv文件出力,excel打开乱码处理
- excel打开文件乱码的处理方法
- error LNK2019
- Dronecode Project:无人机的开源平台
- [leetcode]131 Palindrome Partitioning
- 解析字符串 java
- strut2 iterator标签的使用
- MVC下载Excel文件:js接受乱码 简单处理办法
- ace bootstrap后台框架(一)
- 凸包扫描 + 旋转卡壳 UVALive 4728
- web项目修改根目录的方法
- struts2 的struts.properties(xml)配置详解
- uva572 - Oil Deposits 入门经典II 第六章数据结构基础 例题6-12
- 工作杂谈:由IT行业技术变革 谈当今技术趋势
- 深入理解Java对象序列化
- js 键盘记录实现(兼容FireFox和IE)