要记得去其糟粕
public boolean fileUpLoad(String businessKey, int packageId, CommonsMultipartFile mFile, Integer accountId) {
try {
String fileName = mFile.getFileItem().getName();
fileName = System.currentTimeMillis() + (long)accountId + "-" + fileName.trim();
if (fileName != null && !fileName.equals("")) {
FilePackage filePackage = new FilePackage();
filePackage.setFilePackageID(packageId);
List<FilePackage> listFilePackage = this.filePackageDao.listByHiber(filePackage);
if (listFilePackage != null && listFilePackage.get(0) != null) {
FileOutputStream os = new FileOutputStream(((FilePackage)listFilePackage.get(0)).getPhysicalPath() + fileName);
System.out.println("保存文件的路径" + ((FilePackage)listFilePackage.get(0)).getPhysicalPath());
InputStream in = mFile.getInputStream();
boolean var10 = false;
int b;
while((b = in.read()) != -1) {
os.write(b);
}
os.flush();
in.close();
os.close();
String urlName = fileName.substring(fileName.length() - 4, fileName.length());
String nameType = urlName.substring(urlName.indexOf(".") + 1, urlName.length());
if (nameType.equals("doc")) {
ToHtml.doc2Html(((FilePackage)listFilePackage.get(0)).getPhysicalPath() + fileName, packageId + "//" + fileName + ".jsp");
} else if (nameType.equals("docx")) {
ToHtml.docx2Html(((FilePackage)listFilePackage.get(0)).getPhysicalPath() + fileName, packageId + "//" + fileName + ".jsp");
}
Files files = new Files();
files.setFileCode("1");
files.setFilePackageID(packageId);
files.setTotalNumber(1);
files.setFileName(fileName);
files.setCurrentNumber(1);
files.setFileCreateDate(new Date());
this.filesDao.saveByHiber(files);
System.out.println("保存文件正常");
FileVirtual fileVirtual = new FileVirtual();
fileVirtual.setVirtualFileCode("1");
fileVirtual.setFileVersion("1.0");
fileVirtual.setFileId(files.getFileId());
fileVirtual.setFileFormatId(1);
fileVirtual.setBusinessKey(businessKey);
fileVirtual.setPhysicalName(fileName);
fileVirtual.setFileHash("1");
fileVirtual.setUploader(1);
fileVirtual.setUploadTime(new Date());
fileVirtual.setVersionDescription("1.0");
this.fileVirtualDao.saveByHiber(fileVirtual);
return true;
} else {
return false;
}
} else {
System.out.println("提交失败");
return false;
}
} catch (Exception var15) {
var15.printStackTrace();
System.out.println("提交失败");
return false;
}
}
public void fileDownload(String businessKey, int packageId, HttpServletResponse response) {
try {
OutputStream outputStream = response.getOutputStream();
byte[] b = new byte[600];
String physicalpath = this.filesDao.getPhysicalpath(businessKey, packageId);
System.out.println("测试输出读取的要下载的文件物理路径" + physicalpath);
File fileload = new File(physicalpath);
String filename = this.filesDao.getFileName(businessKey, packageId);
filename = filename.substring(filename.indexOf("-") + 1);
response.setHeader("Content-disposition", "attachment;filename=" + new String(filename.getBytes("utf-8"), "ISO8859-1"));
response.setContentType("application/msword");
long fileLength = fileload.length();
String length = String.valueOf(fileLength);
response.setHeader("Content_length", length);
FileInputStream inputStream = new FileInputStream(fileload);
boolean var13 = false;
int n;
while((n = inputStream.read(b)) != -1) {
outputStream.write(b, 0, n);
}
} catch (IOException var14) {
var14.printStackTrace();
}
}