UploadTool.java 2.93 KB
package com.xiniunet.web.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 com.xiniunet.service.railway.util.RailwayThirdTools;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;

/**
 * Created on 2014/10/8.
 *
 * @author 吕浩
 * @version 0.1.0
 */
public class UploadTool {
    private static Logger logger = LoggerFactory.getLogger(RailwayThirdTools.class);
    /**
     * 从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,String fileName) {
        FileUploadResponse uploadResponse = new FileUploadResponse();
        try {
            FileUploadRequest uploadRequest = new FileUploadRequest();
            uploadRequest.setFileExt("xlsx");
            uploadRequest.setType(UploadTypeEnum.TMP);
            uploadRequest.setFileStream(new Excel(table, flag).getBytes());
            uploadRequest.setDisplayName(fileName+".xlsx");
            uploadRequest.setFileName(fileName);
            uploadRequest.setIsUploadByFileName(true);
            uploadResponse = foundationService.uploadFile(uploadRequest, passport);
        } catch (IOException e) {
            logger.error(String.valueOf(e));
            uploadResponse.addError("", "上传文件出现了小错误。");
        }
        return uploadResponse;
    }
//    public static FileUploadResponse uploadDataTable(DataTable table, Passport passport, Boolean flag,String fileName) {
//        FileUploadResponse uploadResponse = new FileUploadResponse();
//        try {
//            FileUploadRequest uploadRequest = new FileUploadRequest();
//            uploadRequest.setFileExt("xlsx");
//            uploadRequest.setType(UploadTypeEnum.TMP);
//            uploadRequest.setFileStream(new Excel(table, flag).getBytes());
//            uploadRequest.setDisplayName(fileName+".xlsx");
//
//            uploadResponse = foundationService.uploadFile(uploadRequest, passport);
//        } catch (IOException e) {
//            logger.error(e);
//            uploadResponse.addError("", "上传文件出现了小错误。");
//        }
//        return uploadResponse;
//    }
}