codeUrl 图片地址
fileName 图片名字
public void downQRCode(String codeUrl, String fileName, HttpServletResponse resp) {
ServletOutputStream outputStream=null;
InputStream inputStream=null;
try {
URL url = new URL(codeUrl);
//打开链接
URLConnection urlConnection = url.openConnection();
// 设置是否从httpUrlConnection读入
urlConnection.setDoInput(true);
// 设置是否向HttpURLConnection输出
urlConnection.setDoOutput(true);
// 设置是否使用缓存
urlConnection.setUseCaches(false);
inputStream = urlConnection.getInputStream();
// 连接
urlConnection.connect();
//输出
resp.reset();
resp.setCharacterEncoding("UTF-8");
resp.setContentType("image/jpeg;charset=utf-8");
//new String 里边的是为了防止乱码
resp.setHeader("Content-Disposition","attachment;filename=\""+new String(fileName.getBytes("ISO8859-1"),"UTF-8")+"\"");
outputStream = resp.getOutputStream();
byte[] bt=new byte[1024];
int len =0;
while((len=inputStream.read(bt)) != -1){
outputStream.write(bt,0,len);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}