@RequestMapping("download")
public R download(String fileName, HttpServletResponse response) {
try {
if (org.apache.commons.lang3.StringUtils.isNotBlank(fileName)) {
OSSObject ossObject = aliyunOSSService.downloadObject(fileName, bucketName);
if (ossObject != null) {
InputStream inputStream = ossObject.getObjectContent();
ServletOutputStream outputStream = response.getOutputStream();
int buffer = 1024 * 10;
byte data[] = new byte[buffer];
response.setContentType("application/x-msdownload");
// 文件名可以任意指定
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));//将文件名转为ASCLL编码
int read;
while ((read = inputStream.read(data)) != -1) {
outputStream.write(data, 0, read);
}
outputStream.flush();
outputStream.close();
ossObject.close();
}
}
} catch (IOException e) {
return R.error("下载失败");
}
return R.ok("下载成功!");
}
从阿里云服务器下载文件
于 2021-10-27 15:08:11 首次发布