页面中显示ftp中的图片

[code="java"]/** * <p>项目名称: 上汽inkanet项目</p> * <p>厂商: 东软集团股份有限公司</p> * <p>部门: avnc&is事业部国内业务一部</p> * <p>版权: copyright (c) 2011</p> */package com.sais.inkanet.common.displayimage;import com.opensymphony.xwork2.actionsupport;import com.sais.inkanet.base.util.ftpimagedisplay;import com.sais.inkanet.base.util.propertiesutil;import org.apache.log4j.logger;import org.apache.struts2.servletactioncontext;import javax.servlet.http.httpservletresponse;/** * <p>类名称: [图片显示action]</p> * <p>类描述: [根据提供的路径到ftp中以流的方式获得图片]</p> * <p>所属模块: 上汽inkanet项目_[模块名称]</p> * <p>创建时间 7/14/11 12:56 pm </p>  * @author zouqiang zouqiang@neusoft.com * @version 1.0*/public class displayimageaction extends actionsupport {	private static final long serialversionuid = 1l;	private static final logger log = logger.getlogger(displayimageaction.class);    /**     * <p>属性描述: [要访问的图片url]</p>     */    private string imageurl;    /**     * <p>属性描述: [ftp ip地址]</p>     */    private string ip = propertiesutil.getsetting("ftp.ip", "");    /**     * <p>属性描述: [ftp密码]</p>     */    private string password = propertiesutil.getsetting("ftp.password", "");    //---------ftp---------    /**     * <p>属性描述: [用户名]</p>     */    private string username = propertiesutil.getsetting("ftp.username", "");    /**     * <p>方法描述: [获得ftp中的图片用于页面显示]</p>    *    * @return 返回结果的说明    *    * @throws exception 抛出异常的原因    */    @override    public string execute() throws exception {    	log.info("-->获得ftp图片,imageurl:"+imageurl);        /**                1.+ 表示空格(在 url 中不能使用        空格)    %20                2./ 分隔目录和子目录                                         %2f                3.? 分隔实际的 url 和参数                                %3f                4.% 指定特殊字符                                              %25                5.# 表示书签                                                     %23                6.& url 中指定的参数间的分隔符                       %26                7.@     %40         */    	imageurl = imageurl.contains("\\") ? imageurl.replace("\\", "%2f") : imageurl;        imageurl = imageurl.contains("/") ? imageurl.replace("/", "%2f") : imageurl;        password = password.contains("@")?password.replace("@", "%40"):password;        httpservletresponse response = servletactioncontext.getresponse();        ftpimagedisplay.getftpimage(username, password, ip, imageurl, response);        return none;    }    public string getimageurl() {        return imageurl;    }    public void setimageurl(string imageurl) {        this.imageurl = imageurl;    }}
 /** * <p>项目名称: 上汽inkanet项目</p> * <p>厂商: 东软集团股份有限公司</p> * <p>部门: avnc&is事业部国内业务一部</p> * <p>版权: copyright (c) 2011</p> */package com.sais.inkanet.base.util;import org.apache.log4j.logger;import java.io.ioexception;import java.io.inputstream;import java.io.outputstream;import java.net.url;import java.net.urlconnection;import javax.servlet.http.httpservletresponse;/** * <p>项目名称: 上汽inkanet项目</p> * <p>厂商: 东软集团股份有限公司</p> * <p>部门: avnc&is事业部国内业务一部</p> * <p>版权: copyright (c) 2011</p> *//** * <p>类名称: [获得ftp图片]</p> * <p>类描述: [获得ftp中的图片]</p> * <p>所属模块: 上汽inkanet项目</p> * <p>创建时间 7/14/11 10:45 am </p> * @author zouqiang zouqiang@neusoft.com * @version 1.0*/public class ftpimagedisplay { /** * <p>属性描述: [声明日志]</p> */ private static final logger log = logger.getlogger(ftpimagedisplay.class); /** * <p>方法描述: [从ftp中获得图片流返给页面]</p> * * @param username 用户名 * @param password 密码 * @param ftpurl ftp的url * @param fileurl 文件路径 * @param response response对象 */ public static void getftpimage(string username, string password, string ftpurl, string fileurl, httpservletresponse response) { inputstream isr = null; outputstream out = null; url u = null; try { if ((fileurl != null) && !"".equals(fileurl)) { response.setheader("content-type", "image/png"); //response.setcontenttype("image/*"); // 设置返回的文件类型 out = response.getoutputstream(); stringbuffer sb = new stringbuffer("ftp://"); sb.append(username + ":"); sb.append(password + "@"); sb.append(ftpurl + "/" + fileurl); u = new url(sb.tostring()); urlconnection urlconn = u.openconnection(); isr = urlconn.getinputstream(); int len = urlconn.getcontentlength(); int i = len; int c; while (((c = isr.read()) != -1) && (--i > 0)) { out.write(c); } log.info("获取ftp图片" + fileurl); } else { log.warn("所要显示的图片路径为空"); } } catch (exception e) { log.error(e.getmessage()); } finally { try { if (isr != null) { isr.close(); } if (out != null) { out.close(); } } catch (ioexception e) { log.error(e.getmessage()); } } }}[/code] 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值