MVC下载Excel文件:js接受乱码 简单处理办法

原创 2015年01月18日 18:25:06

    在做考试系统的时候,需要向题库里面批量导入试题。所以在导题之前需要下载一个Excel模版。

MVC中下载模版,需要创建一个Excel模版,然后发到前台。即点击之后,弹出一个下载框,提示下载(保存位置)。

 

现象:在MVC中,点击下载模版按钮,不提示下载。

原因:js接受 FileResult类型乱码

 

   如果是单纯的生成一个特定的Excel的文件,然后发到前台,即没有参数的下载。如果是这样的话直接让Controller创建,返回一个FileResult文件,前台就直接弹窗提示了。

 

   但是下载导入模版,肯定是要根据具体的题型来下载对应的模版。即带参数的下载文件。

 

 

第一思路:带参数的查询,肯定要把前台 "题型"数据传递到后台,然后后台去查找对应的文件。

   js提交数据到Controller,然后生成模版,在发送到前台。

 

但是使用这种方法,前台在点击下载模版的时候,始终弹窗(不提示下载)……

 

   如果用js事件来提交数据的话,那么接受服务器发过来文件的就成了js里面的success事件处理。这样就带来了一个问题,js接受FileContentResult类型的数据全是乱码。

   然后,就开始了js为什么接收到是乱码。查了很多js FileResult类型之间的联系。直到看到开源中国社区的一个帖子。

一年前的问题,至今没有人回答……

我想,或许我已经走偏了。用js来向后台传递数据,肯定得找到js乱码的的原因。虽然看起来思路非常简单,但是这不知道如何解决乱码问题真的花不起时间了,

 

 

第二思路:直接略过JsView直接提交数据到后台

改用GET传值,从服务器上拿指定的文件。

即在选择题型的时候给  "下载模版" 的按钮 添加上参数。如图

 

   这样做的好处,就是View直接去调用Controller,Controller创建文件 之后,就可以把数据 直接返回到前台页面(提示下载)

   使用GET传值,唯一不好的就是。容易把 代码设计中的 变量以及 值 暴露出来。降低安全性。当然这些在前台显示的时候  可以利用加密解密来进行处理。

   这样就可以直接从服务器上拿 文件了。

   虽然换了一种方法,可以实现目的。但是感觉不用js与直接与Controller进行控制,有些不方便。用js来控制文件流,有很多值得优化的地方。

             在完成功能的基础上,还要继续进行优化。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

js下载文件以及下载文件名乱码问题的解决

关键点: 1.封装form表单提交,做成类似post请求传递多参数下载文件的效果。 2.请求参数乱码的简单纪要 3.下载功能,中文文件名的乱码解决 4.下载CSV格式的文件的乱码问题分析...

js前台到后台中文传值乱码问题

今天做普通的前台页面向后台传值,要传值的内容是中文,传到后台打印一看 居然内容变成了 “?????” 于是在网上找了一些方法  : 1、采用decode()方法  页面: [html]...

js变量的作用域详解、生存周期,以及一些小细节。

写在前面: 是想写一个闭包的,因为写的比较细,基于篇幅,所以闭包前面关于变量的部分就单独发出来,到时候放个链接引进来,js闭包虽然是一个被讲烂的东西,但其实很多人刚接触这个概念也不太懂,所以希望...
  • OBKoro1
  • OBKoro1
  • 2017年04月29日 13:26
  • 589

Windows上编写&&编译Objective-C代码

安装 在windows下面想要安装一个GNUstep的环境其实是很简单的一件事情在这里下载(提取密码:z759)就可以了。下载下来的文件有三个,一个是GNUstep System,一个是GNUst...

JXL网络导出excel部分机器出现文件乱码的解决办法

前不久使用jxl导出Excel,

下载excel文件名字乱码问题处理

package com.dreamwin.cclib.naga.view; import java.io.File; import java.io.FileInputStream; import j...

jsp页面乱码最简单的解决办法

  • 2011年01月24日 21:46
  • 237B
  • 下载

Content-Disposition 文件上传、下载 中文乱码 HTTP头 解决办法 Java Jersey

1、文件上传通过表单上传文件时,如果文件名存在中文则会发生乱码。 ...

struts的文件下载用法及中文名乱码解决办法

struts2既提供了方便的文件上传机制,也提供了方便的文件下载机制。 1.(1)查阅SteamResult类           需要在strut.xml中配置      (2)两个圈的地...

.net MVC 下载文件乱码问题解决方案

public ActionResult OverAllSummaryExport(string id) { #region 解决中文乱码 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MVC下载Excel文件:js接受乱码 简单处理办法
举报原因:
原因补充:

(最多只允许输入30个字)