import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
private final String path = "https://xxxxxx/xxxx.png";
@GetMapping("download")
public void download(HttpServletResponse response){
HttpURLConnection conn = null;
InputStream is = null;
try {
URL url = new URL(devicePath);
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setRequestMethod("GET");
conn.setConnectTimeout(6000);
is = conn.getInputStream();
response.setHeader("content-disposition","attachment;fileName="+ URLEncoder.encode("文件名.png", "utf-8"));
//获取响应输出流
ServletOutputStream os = response.getOutputStream();
//文件拷贝
IOUtils.copy(is,os);
//关流方式
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(os);
} catch (Exception e) {
logger.error(e);
}finally {
conn.disconnect();
}
}
SpringBoot文件下载控制层代码(通过网络连接http地址下载)
于 2022-07-15 17:10:48 首次发布