我的工程图片上传部分笔记(一)

本文介绍了在特定Action中实现图片上传的功能,包括获取文件后缀名、生成唯一文件名、创建目录并保存文件等步骤。此外,还展示了如何在更新记录时处理图片更新的情况。

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

一:Service部分按常规

 

二:Action中,只有在Save和Update的Action中才上传图片

 

SavePicNewsAction

 

private File photoUrl;

 

public String manager() throws ActionException

    {

       if (photoUrl != null)

       {

           String sExtName = photoUrl.getName().substring(photoUrl.getName().lastIndexOf("."));              //得到后缀名//getName()File的方法//lastIndexOf()lang.String的方法

 

           String sFileName = "/uploadfiles/" + DateUtils.formatDate(System.currentTimeMillis(), "yyyy/MM/dd/HHmmss") + sExtName;

 

            //mkdirs MS.util中的方法, 根据指定目录路径创建一个目录,父目录必须存在。

           FolderUtils.mkdirs(request.getRealPath("/") + sFileName.substring(0, sFileName.lastIndexOf("/")));   //批量创建目录包含所有必须但不不存在的目录

           photoUrl.renameTo(new File(request.getRealPath("/") + sFileName));                             //重新命名路径表示的文件

 

           picNews.setPhotoURL(sFileName);

//PhotoURLPicNew中的一个属性,即图片上传位置

       }

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

public void setPhotoUrl(File photoUrl)

    {

       this.photoUrl = photoUrl;

    }

 

 

UpdatePicNewsAction

 

private File photoUrl;

 

public String manager() throws ActionException

    {

       if(photoUrl != null)

       {

           String sExtName = photoUrl.getName().substring(photoUrl.getName().lastIndexOf("."));

 

           String sFileName = "/uploadfiles/" + DateUtils.formatDate(System.currentTimeMillis(),"yyyy/MM/ss/HHmmss") + sExtName;

          

           FolderUtils.mkdirs(request.getRealPath("/" + sFileName.substring(0, sFileName.lastIndexOf("/"))));

 

           photoUrl.renameTo(new File(request.getRealPath("/") + sFileName));

          

           picNews.setPhotoURL(sFileName);

       }

      

       lSiteId = picNews.getSiteId();

 

       PicNews picNewsTemp = picNewsService.getPicNewsById(picNews.getPictureId());

 

       if(picNewsTemp!=null)

       {

           picNewsTemp.setDescription(picNews.getDescription());

           if (photoUrl != null)

           {

              picNewsTemp.setPhotoURL(picNews.getPhotoURL());

           }

           picNewsTemp.setPictureId(picNews.getPictureId());

           picNewsTemp.setPublisher(context.getAdminId());

           picNewsTemp.setPubllshTime(picNews.getPubllshTime());

           picNewsTemp.setSiteId(picNews.getSiteId());

           picNewsTemp.setTitle(picNews.getTitle());

           picNewsTemp.setUrl(picNews.getUrl());

       }

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

public void setPhotoUrl(File photoUrl)

    {

       this.photoUrl = photoUrl;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值