问题描述
- Response OutputStream 输出图片
-
try{ int reply; ftpClient.connect(ip,Integer.parseInt(port)); ftpClient.login(userName,passWord); ftpClient.setBufferSize(1024); ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); reply = ftpClient.getReplyCode(); if(!....){ ....从ftp服务器上下载图片文件 到本地 } File localFile = new File(localPath+"/"+fileName); OutputStream os = new FileOutputStream(localFile); if(ftpClient.retrieveFile(fileName,os)){ //下载到本地硬盘上的图片是能显示的 response.reset(); String name = "test.jpg"; response.reset(); response.setHeader("Content-Disposition",....); response.setContentType("image/jpg"); String str = os.toString(); ServletOutputStream sos = response.getOutputStream(); sos.write(str.getBytes()); sos.flush(); sos.close(); //错误描述: ftp下载到本地磁盘,图片能正常显示 通过response,返回给浏览器,再点击下载或者查看,就无法正常显示,但是下载下来的文件是有字节的。求大神指导一下,该如何处理? } }
解决方案
意思是下载到本地了,就是不能显示?
File localFile = new File(localPath+"/"+fileName);//这个地方改为绝对路径 试试
同样思路,用js
你搜一下 在浏览器显示本地图片,使用js显示,这个方式我用过,绝对可行。
时间: 2024-12-24 20:30:00