java接口返回二进制文件 hutool
时间: 2023-08-15 12:19:18 浏览: 157
在 Java 中,可以使用 Hutool 工具类库来简化返回二进制文件的操作。Hutool 中的 IoUtil 类提供了 readBytes() 方法,该方法可以将文件内容读取为字节数组。我们可以将字节数组作为接口返回值,从而实现接口返回二进制文件的功能。以下是一个使用 Hutool 返回二进制文件的示例代码:
```
import cn.hutool.core.io.IoUtil;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
@RestController
public class BinaryFileController {
@GetMapping(value = "/file", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public ResponseEntity<byte[]> downloadFile() throws IOException {
ClassPathResource fileResource = new ClassPathResource("file.bin"); // 文件路径
byte[] fileContent = IoUtil.readBytes(fileResource.getInputStream()); // 读取文件内容为字节数组
return ResponseEntity.ok()
.header("Content-Disposition", "attachment; filename=\"file.bin\"")
.body(fileContent);
}
}
```
在上面的示例中,我们使用 IoUtil.readBytes() 方法读取文件内容为字节数组。然后,我们使用 ResponseEntity.ok() 方法返回一个 ResponseEntity 对象,其中包含字节数组和相应的 MediaType。此外,我们还设置了 Content-Disposition 头,用于指定浏览器下载文件时的文件名。
阅读全文