springmvc实现图片下载和在浏览器显示以及nginx代理访问图片

1、不在同一台主机,经过给对方文件的方式java

Controllernginx

@RequestMapping(value = "/down/{uuid}", method = RequestMethod.GET)
  @ResponseBody
  public void downloadImage(@PathVariable("uuid") final String uuid, HttpServletResponse response) {
    flService.downImage(uuid, response);
  }

service浏览器

	void downImage(String uuid, HttpServletResponse response);

serviceImplapp

@Override
	public void downImage(String uuid, HttpServletResponse response) {
		//response.setHeader("Content-Disposition", "attachment;fileName=" + "asdf.jpg"); //下载
		response.setContentType("image/png");//显示
		String realPath = "C:\\Users\\Public\\Pictures\\Sample Pictures\\asdf.jpg";
		InputStream fileInputStream;
		try {
			fileInputStream = new FileInputStream(realPath );
			OutputStream outputStream = response.getOutputStream();
			IOUtils.copy(fileInputStream, outputStream);
			outputStream.close();
			fileInputStream.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

实现文件下载ide

response.setHeader("Content-Disposition", "attachment;fileName=" + "asdf.jpg");

实现文件在浏览器显示
ui

response.setContentType("image/png");

2、经过nginx代理的方式访问。
代理

nginx.conf配置get

$A2OW@`DJCNT%2Y)XS3[5FC.png

location ~ ^/(img/|images/) {
          root C:/Users/Public/Pictures;
          access_log off;
          expires max;
        }

效果以下:
it

image.png

访问路径为:http://localhost:80/images/aaa.pngio

相关文章
相关标签/搜索