今天试着把后台服务部署在linux上,但是访问图片流的时候,后台不报错,前台也没任何反应:
第一步:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt"); 切记使用 File.separator,而不是"/"
第二步:
InputStream inputStream = new BufferedInputStream(new FileInputStream(imgFile));
response.setContentType("image/*"); // 设置返回的文件类型
response.setHeader("Access-Control-Allow-Origin", "*");// 设置该图片允许跨域访问
IOUtils.copy(inputStream, response.getOutputStream()); //来自于io工具包 compile('commons-io:commons-io:2.6')
inputStream.close();
我自己之前用的以下方式,windows下正常,linux下报错,无解。。。。。。。。。
InputStream inputStream = new BufferedInputStream(new FileInputStream(imgFile));
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer);
response.reset();
response.setContentType("image/*");
response.setContentType("application/octet-stream; charset=utf-8");
response.setHeader("Access-Control-Allow-Origin", "*");// 设置该图片允许跨域访问
response.setHeader("Location", attach.getFileName());
response.setHeader("Cache-Control", "max-age=0");
response.setHeader("Content-Disposition", "attachment; filename=" + attach.getFileName());
BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
out.write(buffer);
inputStream.close();