最近在做下载时候 不同浏览器下载的文件一直出现乱码,不知道怎么设置文件的编码,百度许久,找到一个解决办法如下
/**
* 文件下载
* @param request
* @return
*/
@GET
@Path("/d")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response download(@QueryParam("filemd5") String viFileMd5,@QueryParam("filename") String viFileName,@Context HttpServletResponse response) {
File nFile = new File(WebConfig.MAIN_UPLOAD_TEMP_PATH + File.separator+ viFileMd5);
// 如果文件不存在,提示404
if (!nFile.exists()) {
return Response.status(Response.Status.NOT_FOUND).build();
}
String nFileName = null;
try {
nFileName = URLEncoder.encode(viFileName, "UTF-8");
response.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
return Response.ok(nFile).header("Content-disposition","attachment;filename=" + nFileName+";filename*=utf-8''"+nFileName).header("Cache-Control", "no-cache").build();
}
设置header("Content-disposition","attachment;filename=" + nFileName+";filename*=utf-8''"+nFileName)即可
分享到:
相关推荐
在IT行业中,RESTful WebService框架是开发网络应用的重要工具,Jersey作为Java平台上的一个开源框架,...在阅读《巧用 Jersey RESTful WebService框架解决文件上传乱码》这篇博文时,可以更深入地理解这些技术细节。
【标题】"Jersey RESTful WebService框架学习(一)" 在Web服务开发中,RESTful API已经成为主流,它强调资源的表示和交互,通过HTTP协议进行通信。Jersey是Java平台上的一个开源框架,专门用于构建RESTful服务,它是...
在本篇中,我们将深入探讨如何使用Maven搭建一个基于Jersey实现的RESTful Web服务。Jersey是Java EE平台下的一个开源项目,它提供了对JAX-RS(Java API for RESTful Web Services)规范的全面支持,让我们能够轻松...
Jersey 是一个开源的 RESTful Web 服务...通过深入学习和实践这些知识点,开发者可以有效地利用 Jersey 2.22 版本创建高质量的 RESTful Web 服务,实现与各种客户端(如浏览器、移动应用、其他服务器)的高效通信。
**标题:“jersey restful webservice集成以及使用”** RESTful Web服务是一种广泛采用的Web服务设计风格,它遵循 Representational State Transfer(表述性状态转移)原则,通过HTTP协议提供服务。Jersey是Java...
【基于Jersey搭建WebService框架】 在Java开发中,构建RESTful Web服务时,Jersey是一个常用的框架。它作为Java EE的一部分,提供了实现 Representational State Transfer (REST) 架构风格的工具集。本教程将围绕...
总结来说,"Jersey RESTful Webservice"项目提供了一个实际运行的示例,展示了如何使用Jersey框架构建RESTful服务。通过学习这个项目,开发者可以深入理解RESTful服务的原理,以及如何在Java环境中使用Jersey进行...
RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易。 下面写一个最简单的Hello World例子,以便对RESTful WebService有...
Jersey 是一个开源的、基于Java的RESTful Web服务实现框架,它允许开发者轻松地创建和部署RESTful服务。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,强调通过HTTP协议来操作...
SOAP Web服务和RESTful Web服务是两种常见的Web服务交互方式,它们在设计理念、协议复杂度、数据格式和操作方式等方面存在显著的区别。 首先,SOAP(简单对象访问协议)是一种基于XML的协议,它允许不同系统之间的...
Spring MVC作为Java领域最流行的Web框架之一,提供了强大的支持来实现RESTful服务。这篇博客"restful webservice in springMVC Demo"旨在展示如何在Spring MVC中创建RESTful Web服务,并通过客户端进行调用。 首先...
"Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用" RESTful Web服务简介 ----------------- RESTful Web服务是使用HTTP和REST原理实现的Web服务。REST 中最重要的概念是资源(resources),使用全球ID...
### Jersey和Tomcat构建RESTful WebService #### RESTful Web服务简介 REST(Representational State Transfer)是由HTTP规范1.0和1.1版的主要作者之一Roy Fielding在其2000年的博士论文中提出的。REST的核心思想...
SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验 本实验的主要目标是使用SpringBoot、Mybatis和CXF框架来实现Restful API和WebService API接口的大实验。下面是实验的详细介绍: 标题...
本项目是使用Jersey框架和Tomcat服务器来构建RESTful WebService的一个实例,它提供了完整的配置和实现,对于学习和理解RESTful服务的开发具有很高的实用价值。 **Jersey框架**:Jersey是Java平台上的一个开源框架...
在RESTful Web Services.pdf这本书中,你可能会学习到以下内容: 1. **资源模型**:如何定义和组织资源,以及如何使用URI有效地表示它们。 2. **HTTP方法**:GET用于获取资源,POST用于创建新资源,PUT用于更新已有...
Java restful和webservice接口, WebService有两种方式,一是SOAP方式,二是REST方式。SOAP是基于XML的交互,WSDL也是一个XML文档,可以使用WSDL作为SOAP的描述文件;REST是基于HTTP协议的交互,支持JSON、XML等交互...
### RESTful文件下载方法解析 #### 一、概述 在现代Web应用开发中,REST(Representational State Transfer)架构风格因其简洁性和可扩展性而受到广泛欢迎。RESTful API不仅适用于传统的网页请求,还适用于文件...
通过这个"webservice - Restful的Demo",我们可以学习到RESTful如何使WebService变得更加简单、直观且高效。了解并掌握RESTful设计原则,能帮助我们构建更加优雅、易于维护的API,提升系统的可扩展性和互操作性。...
在IT行业中,RESTful Web Service和Spring框架的集成是一个广泛使用的解决方案,特别是在构建现代、可扩展的分布式系统中。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于...