JavaWeb-SmartUpload的封装类
package com.mrcode.include;
import com.jspsmart.upload.SmartUpload;
import java.util.ArrayList;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.Request;
import com.jspsmart.upload.File;
import com.jspsmart.upload.SmartUploadException;
import javax.servlet.ServletException;
import java.io.IOException;
import java.sql.SQLException;
public class SmartUploadFiles
{
private SmartUpload smartUpload = null;
//private ArrayList[] suffix = new ArrayList[]{new String("gif"), new String("jpg"), new String("jpeg")}; //不兼容的类型
//private ArrayList<String>[] suffix = new ArrayList<String>[]{new String("gif"), new String("jpg"), new String("jpeg")};//不兼容的类型
private ArrayList suffix = new ArrayList();
private ArrayList filepaths = new ArrayList();
public SmartUploadFiles(SmartUpload smartUpload)
{
this.smartUpload = smartUpload;
}
/*
//第一步:smartUpload.initialize必须首先执行,
public void initUpload(ServletConfig servletConfig, HttpServletRequest request, HttpServletResponse response)
throws ServletException
{
smartUpload.initialize(servletConfig, request, response);
}
*/
public void setParameter(long filesize, String deniedfiles)
throws ServletException, IOException, SQLException
{
smartUpload.setMaxFileSize(filesize);
smartUpload.setDeniedFilesList(deniedfiles);
}
//第二步:smartUpload.upload()
public void upload()
throws ServletException, IOException, SmartUploadException
{
smartUpload.upload();
}
public Request getSmartUploadRequest()
{
return smartUpload.getRequest();
}
//填充文件后缀名
public void setSuffix()
{
suffix.add(new String("gif"));
suffix.add(new String("jpg"));
suffix.add(new String("jpeg"));
}
//后缀名的检查的方式需要借用
public boolean isHaveSuffix()
{
boolean isSuffix = false;
for(int i=0; i<smartUpload.getFiles().getCount(); i++)
{
File file = smartUpload.getFiles().getFile(i);
if(file.isMissing())
{
continue;
}
int count = 0;
for(int j=0; j<suffix.size(); j++)
{
System.out.println(suffix.size());
System.out.println(suffix.get(j));
System.out.println(file.getFileName().substring(file.getFileName().lastIndexOf('.') + 1));
//if(suffix.get(j) != file.getFileName().substring(file.getFileName().lastIndexOf('.') + 1))
if(!suffix.get(j).equals(file.getFileName().substring(file.getFileName().lastIndexOf('.') + 1)))
{
count++;
System.out.println(count);
//if((count.toString()).equals((suffix.size()).toString()))
if(suffix.size() == count)
{
System.out.println("break");
//break;
isSuffix = false;
return isSuffix;
}
continue;
}
isSuffix = true;
}
}
return isSuffix;
}
public ArrayList getFilePaths(String savePath)
{
for(int i=0; i<smartUpload.getFiles().getCount(); i++)
{
File file = smartUpload.getFiles().getFile(i);
if(file.isMissing())
{
continue;
}
//把上传的文件路径放进数组
filepaths.add(savePath + file.getFileName());
}
return filepaths;
}
public void saveAs(String savepath)
throws IOException
{
for(int i=0; i<smartUpload.getFiles().getCount(); i++)
{
File file = smartUpload.getFiles().getFile(i);
if(file.isMissing())
{
continue;
}
/*
int have = 0;
for(int i=0; i<suffix.size(); i++)
{
if(suffix[i] != file.getFileName().substring(file.getFileName().lastIndexOf('.') + 1))
{
continue;
}
have = 1;
}
*/
//判断后缀名
//把上传的文件路径放进数组
//filepaths.add(savepath + file.getFileName());
try
{
file.saveAs(savepath + file.getFileName());
}
catch(SmartUploadException e)
{
e.printStackTrace();
}
}
}
}