java将文件转成流文件返回给前端详细代码实例
更新时间:2024年07月15日 10:16:05 作者:爱北的琳儿
Java编程语言提供了强大的文件处理和压缩能力,下面这篇文章主要给大家介绍了关于java将文件转成流文件返回给前端的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
环境:jdk1.8,springboot2.5.3,项目端口号:9100
1.待转换的文件
一、路径

二、文件内容

2.controller中代码
package com.example.pdf.controller;
import com.example.pdf.service.GetFileStreamService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
/**
* @author
* @date 2024/3/29 16:28
* @describe
*/
@RestController
@RequestMapping(value = "test")
public class GetFileStreamController {
@Resource
private GetFileStreamService getFileStreamService;
/**
* 获取文件流
*/
@GetMapping("getFileStream")
public void getFileStream(HttpServletResponse response) {
getFileStreamService.getFileStream(response);
}
}
3.service中代码
package com.example.pdf.service;
import javax.servlet.http.HttpServletResponse;
/**
* @author
* @date 2024/3/29 16:30
* @describe
*/
public interface GetFileStreamService {
/**
* 获取文件流
* @param response
*/
void getFileStream(HttpServletResponse response);
}4.实现类代码
package com.example.pdf.service.impl;
import com.example.pdf.service.GetFileStreamService;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
/**
* @author
* @date 2024/3/29 16:31
* @describe
*/
@Service
public class GetFileStreamServiceImpl implements GetFileStreamService {
/**
* 获取文件流
*/
@Override
public void getFileStream(HttpServletResponse response) {
// 指定文件路径,获取file文件
File file = new File("E:\\Desktop\\temps\\test.pdf");
try {
// 将文件转为文件输入流
FileInputStream fileInputStream = new FileInputStream(file);
// 获取响应的输出流
OutputStream outputStream = response.getOutputStream();
// 将文件转成字节数组,再将数组写入响应的输出流
byte[] buffer = new byte[1024];
int bytesRead = -1;
while ((bytesRead = fileInputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
// 刷新输出流
outputStream.flush();
// 关闭流
fileInputStream.close();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}5.postman中访问结果示例

6.浏览器中访问结果示例

总结
到此这篇关于java将文件转成流文件返回给前端的文章就介绍到这了,更多相关java文件转成流文件返回前端内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java异常处理之try...catch...finally详解
今天小编就为大家分享一篇关于Java异常处理之try...catch...finally详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-01-01
Spring Security基于自定义的认证提供器实现图形验证码流程解析
这篇文章主要介绍了Spring Security基于自定义的认证提供器实现图形验证码,通过本文学习下AuthenticationProvider接口的类关系图,感兴趣的朋友跟随小编一起看看吧2021-09-09
最新IntelliJ IDEA 2022配置 Tomcat 8.5 的详细步骤演示
这篇文章主要介绍了IntelliJ IDEA 2022 详细配置 Tomcat 8.5 步骤演示,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-08-08


最新评论