UploadTool.java
3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package com.lecuntao.ordering.tool;
import com.xiniunet.foundation.contract.UploadTypeEnum;
import com.xiniunet.foundation.request.FileUploadRequest;
import com.xiniunet.foundation.response.FileUploadResponse;
import com.xiniunet.foundation.service.FoundationService;
import com.xiniunet.framework.log.LogUtil;
import com.xiniunet.framework.security.Passport;
import com.xiniunet.framework.util.SpringContext;
import com.xiniunet.framework.util.excel.Excel;
import com.xiniunet.framework.util.excel.datatable.DataTable;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Created on 2014/10/8.
*
* @author 吕浩
* @version 0.1.0
*/
public class UploadTool {
/**
* 从Spring中取得可以获得用户对象的工具类
*/
private static final FoundationService foundationService =
(FoundationService) SpringContext.getApplicationContext().getBean(FoundationService.class);
/**
* 将DataTable转为Excel并上传。
*
* @param table 要上传的DataTable
* @param passport 护照信息
* @return URL或者错误信息
*/
public static FileUploadResponse uploadDataTable(DataTable table, Passport passport, Boolean flag) {
FileUploadResponse uploadResponse = new FileUploadResponse();
FileUploadRequest uploadRequest = new FileUploadRequest();
uploadRequest.setFileExt("xlsx");
uploadRequest.setType(UploadTypeEnum.TMP);
try {
uploadRequest.setFileStream(new Excel(table, flag).getBytes());
} catch (IOException e) {
e.printStackTrace();
}
uploadResponse = foundationService.uploadFile(uploadRequest, passport);
return uploadResponse;
}
public static FileUploadResponse uploadExcelImportResult(byte[] bytes, Passport passport, Boolean flag) {
FileUploadResponse uploadResponse = new FileUploadResponse();
FileUploadRequest uploadRequest = new FileUploadRequest();
uploadRequest.setFileExt("xlsx");
uploadRequest.setType(UploadTypeEnum.TMP);
uploadRequest.setFileStream(bytes);
uploadResponse = foundationService.uploadFile(uploadRequest, passport);
return uploadResponse;
}
/**
* 将DataTable转为Excel并上传。
* @param table 要上传的DataTable
* @param passport 护照信息
* @return URL或者错误信息
*/
public static FileUploadResponse uploadDataTable(DataTable table, Passport passport, Boolean flag, String modelName) {
FileUploadResponse uploadResponse = new FileUploadResponse();
try {
String fileName = modelName + new SimpleDateFormat("-yyyyMMddHHmmss").format(new Date());//文件名称增加后缀
FileUploadRequest uploadRequest = new FileUploadRequest();
uploadRequest.setFileExt("xlsx");
uploadRequest.setType(UploadTypeEnum.TMP);
uploadRequest.setFileStream(new Excel(flag, table).getBytes());
uploadRequest.setIsUploadByFileName(true);
uploadRequest.setFileName(fileName);
uploadResponse = foundationService.uploadFile(uploadRequest, passport);
} catch (IOException e) {
LogUtil.errorLog(e);
uploadResponse.addError("", "上传文件出现了小错误。");
}
return uploadResponse;
}
}