struts 多图片上传与删除
来源:互联网 发布:年轻人网络用语2016 编辑:程序博客网 时间:2024/05/24 06:26
/**
* 功能名:isGif <br>
* 功能説明: 判断图片格式 <br>
*
* @author 刘冬 作成日:2008/05/23
*/
public static boolean isGif(String file) {
if (file.toLowerCase().endsWith(".gif")) {
return true;
} else {
return false;
}
}
public static boolean isJpg(String file) {
if (file.toLowerCase().endsWith(".jpg")) {
return true;
} else {
return false;
}
}
public static boolean isPng(String file) {
if (file.toLowerCase().endsWith(".png")) {
return true;
} else {
return false;
}
}
/**
* 功能名:saveFile <br>
* 功能説明: 上传图片<br>
*
* @author 刘冬 作成日:2008/04/23
*/
public String saveFile(FormFile file, String filePath) {
String saveResult = "";
try {
InputStream is = file.getInputStream();
OutputStream os = new FileOutputStream(filePath);
int readSize = 0;
byte buffer[] = new byte[8192];
while ((readSize = is.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, readSize);
}
os.close();
} catch (Exception e) {
System.out.println("保存文件异常:" + e);
}
return saveResult;
}
/**
* 功能名:saveAllFile <br>
* 功能説明: 批量上传图片 <br>
*
* @author 刘冬 作成日:2008/05/15
*/
public void saveAllFile(FormFile logoImg0, FormFile logoImg1)
{
//图片存到hashmap
Map fileMap = new HashMap();
/*
* 判断上传图片是否为空
*/
if (!logoImg0.getFileName().equals(""))
fileMap.put("logoImg0", logoImg0);
if (!logoImg1.getFileName().equals(""))
fileMap.put("logoImg1", logoImg1);
Set fileSet = fileMap.entrySet();
Iterator iter = fileSet.iterator();
//上传多张图片
while (iter.hasNext()) {
//遍历map
Map.Entry unit1 = (Map.Entry) iter.next();
String key = (String) unit1.getKey();
//获得上传文件
FormFile file = (FormFile) unit1.getValue();
//判断是否为图片 支持jpg gif png
if (isPhoto(file)) {
//判断图片格式
String setFileName = "";
if (isJpg(file.getFileName()))
setFileName = ".jpg";
else if (isGif(file.getFileName()))
setFileName = ".gif";
else if (isPng(file.getFileName()))
setFileName = ".png";
//重组图片名
String name = RandomStringUtils.random(9, false, true);
String fileName = name + "_" + FormatDate.getSysDate()
+ setFileName;
//表中存储相对路径
String path = "/Yini/upload/img/product/" + fileName;
if ("logoImg0".equals(key))
pro.setLogoImg0(path);
if ("logoImg1".equals(key))
pro.setLogoImg1(path);
String fillpath = "服务器路径" + '/' + "重组后的文件名";
this.saveFile(file, fillpath);//上传多张图片 this.saveFile(file, fillpath);//上传多张图片