package com.fgkj.actions;
|
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileOutputStream;
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Vector;
|
|
import javax.servlet.http.HttpSession;
|
|
import org.apache.struts2.ServletActionContext;
|
|
import com.fgkj.dto.DLG_Progress;
|
import com.fgkj.dto.ServiceModel;
|
import com.fgkj.dto.User;
|
import com.fgkj.dto.User_inf;
|
import com.fgkj.fbo.FboData;
|
import com.fgkj.fbo.FboDataInf;
|
import com.fgkj.services.FboDataUploadService;
|
import com.google.gson.Gson;
|
import com.mysql.fabric.xmlrpc.base.Array;
|
import com.opensymphony.xwork2.ActionSupport;
|
import com.opensymphony.xwork2.Result;
|
import com.sun.xml.internal.ws.wsdl.writer.document.Service;
|
|
public class FboDataUploadAction extends ActionSupport {
|
private String tableRowData;
|
private int battgroupid;
|
private File[] file;
|
// 提交过来的file的名字
|
private String[] fileFileName;
|
private String result;
|
|
// 文件上传
|
public String uploadFile() {
|
User_inf user = (User_inf) ActionUtil.getUser();
|
if(user!=null){
|
// System.out.println(tableRowData.length());
|
HttpSession session = ActionUtil.getSession();
|
Gson gson = new Gson();
|
createFile();
|
String[][] tableRowDatas = gson
|
.fromJson(tableRowData, String[][].class);
|
//System.out.println(file.length + "---" + tableRowDatas.length);
|
FboDataUploadService fduservice = new FboDataUploadService(user,
|
battgroupid, tableRowDatas, file, session);
|
fduservice.start();
|
}
|
return SUCCESS;
|
}
|
|
// 停止上传
|
public String stopUpload() {
|
HttpSession session = ActionUtil.getSession();
|
DLG_Progress progress = (DLG_Progress) session.getAttribute("progress");
|
if (progress != null) {
|
progress.setJudge(false);
|
ServiceModel model=new ServiceModel();
|
model.setCode(1);
|
model.setData(model);
|
result = ActionUtil.tojson(progress);
|
}
|
return SUCCESS;
|
}
|
|
// 查询进度
|
public String selectprogress() {
|
HttpSession session = ActionUtil.getSession();
|
DLG_Progress progress = (DLG_Progress) session.getAttribute("progress");
|
// for(int i=0;i<progress.getTableData().length;i++){
|
// for(int j=0;j<progress.getTableData()[i].length;j++){
|
// System.out.print(progress.getTableData()[i][j]+"\t");
|
// }
|
// System.out.println();
|
// }
|
if (progress != null) {
|
ServiceModel model = new ServiceModel();
|
model.setCode(1);
|
model.setData(progress);
|
result = ActionUtil.tojson(model);
|
}
|
return SUCCESS;
|
}
|
|
public void createFile(){
|
String root = ServletActionContext.getServletContext().getRealPath(""); // 上传路径
|
//System.out.println(root);
|
for(int i=0;i<file.length;i++){
|
long times=new Date().getTime();
|
String savepath=root+"/"+times+fileFileName[i];
|
File f=new File(savepath);
|
FileInputStream fis=null;
|
FileOutputStream fos=null;
|
try {
|
if (!f.exists()) {
|
/** 创建此文件对象路径 */
|
f.createNewFile();
|
}
|
/** 创建输入流 */
|
fis = new FileInputStream(file[i]);
|
/** 输出流 更据文件的路径+文件名称创建文件对象 */
|
fos = new FileOutputStream(savepath);
|
/** 读取字节 */
|
byte b[] = new byte[1024];
|
int n = 0;
|
/** 读取操作 */
|
while ((n = fis.read(b)) != -1) {
|
/** 写操作 */
|
fos.write(b, 0, n);
|
}
|
fos.flush();
|
file[i]=f;
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally{
|
/** 关闭操作 */
|
try {
|
if (fis != null) {
|
fis.close();
|
}
|
if (fos != null) {
|
fos.close();
|
}
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
|
}
|
|
public static void main(String[] args) {
|
new FboDataUploadAction().uploadFile();
|
}
|
|
public String getTableRowData() {
|
return tableRowData;
|
}
|
|
public void setTableRowData(String tableRowData) {
|
this.tableRowData = tableRowData;
|
}
|
|
public int getBattgroupid() {
|
return battgroupid;
|
}
|
|
public void setBattgroupid(int battgroupid) {
|
this.battgroupid = battgroupid;
|
}
|
|
public File[] getFile() {
|
return file;
|
}
|
|
public void setFile(File[] file) {
|
this.file = file;
|
}
|
|
public String getResult() {
|
return result;
|
}
|
|
public void setResult(String result) {
|
this.result = result;
|
}
|
|
public String[] getFileFileName() {
|
return fileFileName;
|
}
|
|
public void setFileFileName(String[] fileFileName) {
|
this.fileFileName = fileFileName;
|
}
|
|
}
|