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);//上传多张图片
原创粉丝点击