请问下如何spring boot 如何提供下载MP3和wav文件接口,同时内容正确即下载后能播放?
参考下面
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class FileController {
@GetMapping("/download/{fileName:.+}")
public ResponseEntity<Resource> downloadFile(@PathVariable String fileName) {
// 设置文件路径
String filePath = "/path/to/files/" + fileName;
// 创建文件资源
Resource resource = new FileSystemResource(filePath);
// 检查文件是否存在
if (resource.exists()) {
// 设置响应头部
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + fileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
// 返回响应实体
return ResponseEntity.ok()
.headers(headers)
.body(resource);
} else {
// 文件不存在时返回404错误
return ResponseEntity.notFound().build();
}
}
}