package com.wizriver.repository;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Calendar;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
import org.springside.modules.orm.hibernate.HibernateDao;
import com.wizriver.entity.beans.MemberFiles;
import com.wizriver.entity.beans.VgUser;
@Repository
public class UploadDao extends HibernateDao<MemberFiles, Long>{
private static Logger logger = LoggerFactory.getLogger(UploadDao.class);
public void saveFileWithMark(List<File> file,List<String> fileFileName,VgUser user){
if(file==null){return ;}
for(int i = 0;i<file.size();++i){
try {
String preFilename = fileFileName.get(i);
InputStream is = new FileInputStream(file.get(i));
String root = ServletActionContext.getRequest().getRealPath("/upfile/");
File destFile = new File(root, preFilename);
OutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[400];
int length = 0;
int fileSize_temp = 0;
while ((length = is.read(buffer)) > 0)
{
os.write(buffer, 0, length);
fileSize_temp += length;
}
MemberFiles memberfiles = new MemberFiles();
int start = preFilename.lastIndexOf("\\");
String fileName = preFilename.substring(start+1);
memberfiles.setFileName(fileName);
memberfiles.setFileType(preFilename.substring(preFilename.lastIndexOf(".")+1));
memberfiles.setFileSize(new Double(fileSize_temp / 1024));
memberfiles.setFilePath(root+"\\"+preFilename);
memberfiles.setVgUser(user);
Calendar ca = Calendar.getInstance();
memberfiles.setCreateTime(ca.getTime());
ca.add(Calendar.DAY_OF_YEAR, 30);
memberfiles.setExpiryDate(ca.getTime());
this.save(memberfiles);
is.close();
os.close();
} catch (Exception e) {
logger.info("上传失败",e);
}
}
}
}