readFileToByteArray报错无法解析‘FileUtils‘ 中的方法‘readFile ToByteArray‘

在编写文件下载代码时,报错:readFileToByteArray无法解析'FileUtils' 中的方法'readFile ToByteArray',查询之后解决了。

这个问题可能是因为没有正确导入相关的依赖库。readFileToByteArray方法通常是在Apache Commons IO库中定义的,因此需要确保已经正确地导入了该库。
如果你使用的是Maven,则可以在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.8.0</version>
</dependency>


如果你使用的是Gradle,则可以在build.gradle文件中添加以下依赖:

implementation ' commons-io: commons-io:2.8.0'

如果你已经添加了正确的依赖库,但仍然无法解析readFileToByteArray方法,那么可能是因为你没有正确地导入FileUtils 类。你需要在代码中添加以下导入语句:

import org.apache.commons.io.FileUtils;

或者readAllBytes方法来读取文件内容并返回字节数组。

以下是完整代码:

@RequestMapping("/download" )
	public ResponseEntity<byte[]> fileDownload (HttpServletRequest request,String filename) throws Exception {
		//指定要下载的文件所在路径
		String path = request.getServletContext().getRealPath("/upload/");
		//创建该文件对象
		File file = new File (path+File.separator+filename) ;
		//设置响应头
		org.springframework.http.HttpHeaders headers = new org.springframework.http.HttpHeaders();
		//通知浏览器以下载的方式打开文件
		headers.setContentDispositionFormData ("attachment",filename);
		//定义以流的形式下载返回文件数据
		headers.setContentType(MediaType.APPLICATION_OCTET_STREAM) ;
		//使用files工具类将文件转换为字节数组
		byte[] bytes = Files.readAllBytes(file.toPath());
		//返回实体对象
		return new ResponseEntity<> (bytes,headers,HttpStatus.OK) ;

	}


有兴趣的家人可以看一下这个博客,里面是FileUtils方法的使用:apache的IO包中的FileUtils方法的使用_readfiletobytearray-CSDN博客

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值