ZK 上傳圖片和顯示圖片(保存在文件夹)

上傳圖片:

前台代码:

<div  width="19%" style="float:right;clear:right;overflow:hidden;">
    <grid>
    <columns>
     <column width="100%"></column>
    </columns>
    <rows>
     <row><div width="100px" height="200px">
       <image id="memberPhoto" src=""/>
     </div></row>
    </rows>
    </grid>
    <separator />
    <button label="上傳相片" onClick="winInfo.upload()"/>
   </div>

后台代码:

upload Event:

public void upload() throws InterruptedException,IOException,SQLException{
  Configuration config=this.getDesktop().getWebApp().getConfiguration();
  config.setMaxUploadSize(1024); // 單位 KB ,如果為負則不限制大小
  Object media=org.zkoss.zul.Fileupload.get("選擇文件","相片上傳");
  if(media==null)
   return;
  if(!(media instanceof org.zkoss.image.Image)){
   Messagebox.show("此文件不是圖片類型,請檢查!","Error",Messagebox.OK,Messagebox.ERROR);
   return;
  }
  org.zkoss.image.Image image=(org.zkoss.image.Image)media;
  String fileName=image.getName().toLowerCase();
  memberPhotoType=fileName.substring(fileName.length()-3);//图片的类型
  memberPhotoInputStream=image.getStreamData();//图片的InputStream
  Image memberImage=(Image)this.getFellow("memberPhoto");
  memberImage.setContent((org.zkoss.image.Image)media);//将图片放入<image>里
 }

public void save() throws IOException{

   Desktop dtp=Executions.getCurrent().getDesktop();

   String realPath=dtp.getSession().getWebApp().getRealPath("/upload/member_photo/")+"/";查找存放文件的路径   

   File file=new File(realPath+"文件名");

   Files.copy(file,memberPhotoInputStream);

   Files.close(r);

}

显示图片

public void load() throws IOException{

  Desktop dtp=Executions.getCurrent().getDesktop();

  String realPath=dtp.getSession().getWebApp().getRealPath("/upload/member_photo/")+"/"+memberPhotoPath;

  AImage aImg=new AImage(realPath);//这个是关键

  Image memberImage=(Image)this.getFellow("memberPhoto");

  memberImage.setContent(aImg);

}

转载于:https://www.cnblogs.com/TankMa/archive/2011/02/23/1962135.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值