一: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);
//PhotoURL是PicNew中的一个属性,即图片上传位置
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
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;
}