最近在做一个在线编报系统,在批量下载时遇到一个诡异的问题:本地测试正常,某些客户端访问时下载的压缩文件不是压缩文件内部没有文件,就是有几个名字为乱码的文件。
我起初是以为文件大小的问题,试了很多方法都不好用。后来同事测试出只要把要压缩的文件名从中文该成英文时,有问题的客户端就可以正常下载了。(我们的客户需求是压缩包内的文件名应是中文名)
后来我们就通过修改struts.xml中文件的编码方式,将问题修正了。xml代码如下:
修改方式:在contentType内添加:;charset=utf-8
<result name="success" type="stream">
<param name="contentType">application/zip;charset=utf-8</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition"> fileName="${fileName}"</param>
<param name="bufferSize">4096</param>
</result>
分享到:
相关推荐
总结来说,Struts2 ZIP文件上传下载涉及到的主要知识点有:Struts2 MVC框架的使用、文件上传与下载的处理、异常处理、流处理以及ZIP文件操作。通过合理的错误处理和详细的信息反馈,可以显著提高用户体验,同时也...
综上所述,Struts2框架下的批量下载功能不仅涉及到注解的灵活运用,还需要对文件流、压缩技术、临时文件管理、日期时间处理、字符编码以及日志记录等多方面知识有深刻理解。同时,合理设计实体类与服务层的交互,...
在使用Struts2进行web开发时,正确导入并配置所需的类库是至关重要的。本文主要针对在导入struts2框架的jar包时可能出现的问题提供解决方案。 首先,你需要从Apache Struts的官方网站...
在处理文件上传和下载时,Struts提供了一套完善的机制,但有时会遇到中文乱码的问题。本教程将详细介绍如何在Struts中实现无中文乱码的文件上传与下载,并涵盖任意数量的文件上传。 首先,解决中文乱码问题的关键...
3. **JSON插件配置**:在`struts-plugin.xml`配置文件中,会注册JSON插件,声明结果类型和其他相关设置,如启用GZIP压缩、排除某些字段等。 4. **拦截器**:Struts2的拦截器机制允许在Action调用前后执行特定逻辑。...
同时,社区的支持和文档可以帮助开发者解决在使用过程中遇到的问题。 总之,Struts-menu为基于Struts的Web应用提供了强大的菜单管理功能,通过合理的配置和资源组织,可以创建出美观、易用且动态的菜单系统,极大地...
3. **路径问题**:在 Struts2 中,路径是根据 Action 的路径而非 JSP 的路径来确定的,因此建议使用绝对路径。 - 使用内置标签或脚本语言来获取绝对路径:`(); String basePath = request.getScheme() %>` 以上是...
开发者在搭建项目环境时,需要将这些库文件添加到项目的类路径中,以确保Struts 2框架能够正确识别并执行。 总的来说,Struts 2.1.6作为一个成熟的Web开发框架,不仅提供了完善的MVC结构,还通过拦截器、OGNL和插件...
首先,确保在Struts2的配置文件(struts.xml)中添加了允许接收multipart请求的拦截器,如`struts.multipart.interceptor`。接着,定义一个Action类,这个类将接收并处理上传请求。在Action类中,声明一个类型为`...
映射文件(mapping文件)记录了混淆前后类、方法和字段的对应关系,当遇到问题时,可以通过这个文件进行反混淆,便于定位问题。 7. **Web项目部署与更新**:混淆后的Web项目在部署时需要注意,由于类名和方法名的...
在实际使用这个项目时,开发者需要先确保安装了MyEclipse和Maven,然后导入项目到MyEclipse中,配置好Maven的环境。接下来,可以运行项目,检查是否能正确启动并访问预设的示例功能。如果遇到问题,参照提供的博客...
标题中的"struts-2.3.16.1-docs.zip"表明这是一个关于Struts2版本2.3.16.1的文档压缩包,包含了开发者在使用该框架时所需的各种参考资料。 描述中提到的几个关键部分包括: 1. **快速入门**:这通常是一份简明教程...
4. **Struts2.1.6解压缩**:获取Struts2的.war文件,重点是struts2-blank-2.1.6.war,其中包含必要的配置文件。 #### 三、运行环境配置 接下来,进行Eclipse中的具体配置步骤: 1. **配置JREs**:在Eclipse的`...
在整合老项目与Struts2框架的过程中,可能会遇到XML解析相关的错误,这通常是由于Struts2在启动时尝试使用不兼容或不适合的XML解析器导致的。本文将深入探讨这个问题,提供解决方案,并介绍如何避免此类问题。 错误...
- 在整合过程中可能会遇到类加载问题,这通常是因为Struts2和ExtJS各自的库中包含了相同或类似的类。确保使用的Struts2版本和ExtJS版本兼容,避免引入不必要的依赖。 - 使用Maven或Gradle等构建工具管理依赖,它们...
在本“Struts2上传(最终版)”项目中,主要涉及到了Struts2框架中的文件上传功能,以及对上传后文件路径的优化,以确保不同用户可以访问到这些文件。同时,还涉及到视频播放器的调整,特别是针对avi格式视频的专用...