`

play框架下载文件

阅读更多

需要提供一个界面能够下载系统日志文件,就在后台管理系统中做了一个系统日志下载界面。

项目用的是play框架,之前没有做过play框架下载文件,所以尝试着做了一下,示例代码如下:

/**
	 * 日志文件夹主目录名
	 */
	public static final String LOGDIRECTORYHOME = "XXXX";

 

/**
	 * 文件下载
	 * @param fileName 文件所在的目录名称
	 * @param subFileName 文件名
	 * @return
	 */
	public static Result download(String fileName, String subFileName) {
		String filePath = System.getProperty("user.dir") + File.separator + LOGDIRECTORYHOME + File.separator + fileName + File.separator + subFileName;
		play.mvc.Http.Response response = response();

		File file = new File(filePath);
		// 取得文件名。
		String filename = file.getName();
		try {
			response.setHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("UTF-8"),"ISO8859_1"));
		} catch (UnsupportedEncodingException e1) {
			e1.printStackTrace();
		}
		response.setHeader("Content-Length", "" + file.length());
		response.setContentType("application/octet-stream");

		byte[] buffer = {};
		try {
			// 以流的形式下载文件。
			InputStream fis = new BufferedInputStream(new FileInputStream(filePath));
			buffer = new byte[fis.available()];
			fis.read(buffer);
			fis.close();
		} catch (IOException e) {
			if (Logger.isErrorEnabled()) {
				Logger.error("下载文件" + filePath + "出错。", e);
			}
		}

		return ok(buffer);
	}

 

分享到:
评论

相关推荐

    Play框架中文文档.pdf

    Play框架中文文档.pdf

    play框架文档(英文版)

    标题:Play框架文档(英文版) 描述:Play框架是一种用于构建现代、可扩展的Web应用程序的开源框架。它强调简洁性、快速开发周期以及高度的灵活性。Play框架支持多种编程语言,包括Java和Scala,使其成为开发高效...

    play框架手册完整版本

    Play框架是基于Java和Scala的开源Web应用框架,遵循MVC(Model-View-Controller)设计模式,旨在简化Web开发过程。它强调代码即路由、轻量级、快速开发和可测试性,使得开发者能够更加专注于业务逻辑,而不是底层...

    scala PLAY 框架 sbt仓库

    - **路由系统**:Play框架的路由文件定义了URL模式如何映射到控制器方法,这是实现RESTful API的关键部分。 - **模板引擎**:Play支持Erb-like的模板语言,如Twirl,用于生成HTML,同时支持Scala的语法特性,使得...

    play框架学习手册

    应用层次结构定义了Play框架的项目目录结构,如app目录存放业务逻辑,public目录存放静态资源,conf目录存放配置文件,lib目录存放库文件等。 2.4 开发周期 在开发过程中,开发者需要理解DEV和PROD模式的不同,以及...

    Play框架的一个demo

    Play框架是一个开源的Java和Scala应用开发框架,它遵循模型-视图-控制器(MVC)架构模式。Play强调简洁的代码和实时反馈,使得开发过程更为高效。它支持TDD(测试驱动开发),并且与现代Web技术如HTML5、CSS3和...

    JAVA PLAY框架入门学习手册

    * 路由配置:Java PLAY框架的路由配置通过routes文件进行配置,routes文件中定义了每个路由的URL、HTTP方法和对应的控制器。 类增强 类增强是Java PLAY框架的一种重要机制,以下是类增强的详细信息: * ...

    play框架jar包

    - Play框架拥有活跃的社区和详尽的官方文档,遇到问题时可以查阅文档或在社区寻求帮助。 - 定期更新:Play框架会不断发布新版本,添加新功能,改进性能,开发者应关注并适时升级。 总之,这个“Play框架jar包”...

    play framework 框架手册 word 版

    《Play Framework 框架手册》是一份深入介绍Play框架的文档,主要涵盖了从基础概念到高级特性的全面内容,适合初学者和经验丰富的开发者参考。以下是对手册中部分核心知识点的详细阐述: 1. **MVC应用程序模型**:...

    play框架的简单增删改查

    Play框架是Java领域的一款轻量级、开源的Web应用框架,它基于MVC(Model-View-Controller)架构模式,提供了简洁的API和强大的工具,使得开发者能够快速地构建高效、可测试的Web应用程序。本项目是针对初学者设计的...

    play 框架学习

    Play框架还支持模块化开发,可以方便地通过`dependencies.yml`文件添加和管理依赖,使用`play dependencies`命令下载模块,并通过`play eclipseify`将模块集成到Eclipse中。对于数据库操作,Play支持JPA进行数据持久...

    play框架API

    play框架API

    play 框架使用ajax的例子

    Play框架是基于Java和Scala的开源Web应用框架,遵循MVC(模型-视图-控制器)设计模式。它强调简洁的代码结构和开发效率,同时提供了对AJAX的强大支持,使得开发者可以轻松创建交互式的、响应式的Web应用程序。在本...

    Play框架手册

    ### Play框架核心概念详解 #### 一、Play框架与MVC模式 Play框架是一款轻量级、高效的Java和Scala Web开发框架,它基于MVC(Model-View-Controller)架构模式设计,旨在简化Web应用程序的开发流程。MVC模式将应用...

    play框架手册

    在Play框架中,商业逻辑在domain model层里进行管理,Web客户端不能直接调用这些代码,domain对象的功能作为URI资源暴露出来。 客户端使用HTTP协议提供的统一API来暗中操作这些底层的商业逻辑实现资源的维护。然而,...

    playframework框架项目部署文档

    你可以从官方网站的下载地址(例如:https://downloads.typesafe.com/play/1.2.5.6/play-1.2.5.6.zip)获取最新版本的Play框架。下载完成后,解压缩文件并将其放在合适的文件夹下。接下来,我们需要设置环境变量。在...

    play框架教程前6章

    安装Play框架很简单,从官方下载页面获取最新二进制包并解压。将Play目录添加到PATH环境变量中,这样就可以在命令行直接使用`play`命令。通过运行`play`检查安装是否成功,如果显示帮助信息,说明已安装正确。 创建...

    play framework框架教程

    **路由配置文件**:Play框架的路由配置位于`conf/routes`文件中,这里定义了所有可用的URL路径及其对应的控制器方法。例如,`GET /users UserController.index` 这样的配置意味着所有以`/users`开头的GET请求都将由`...

    play框架mvc模式

    Play 框架 MVC 模式详解 Play 框架完全遵循 MVC 模式,该模式将应用程序分成三个独立的层:presentation 展示层、model 模型层和 controller 控制层。每个层都有其特定的功能和作用,下面我们将对每个层进行详细的...

Global site tag (gtag.js) - Google Analytics