java访问linux服务器上的图片流

本文探讨了在Linux环境下部署后台服务时遇到的图片流访问问题。详细对比了两种不同的图片流处理方式,并指出了在Windows与Linux平台间存在的差异及可能的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天试着把后台服务部署在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();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值