package com.fgkj.actions;
|
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileOutputStream;
|
import java.io.IOException;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import com.fgkj.dto.ServiceModel;
|
import com.google.gson.Gson;
|
|
public class MyFileAction extends ActionUtil{
|
private String result;
|
private String battname;
|
private File[] file;
|
// 提交过来的file的名字
|
private String[] fileFileName;
|
// 提交过来的file的MIME类型
|
private String[] fileContentType;
|
|
private String filestr; //文件内容
|
private String fname; //文件内容
|
|
//上传文件
|
public String UploadTestFile(){
|
HttpServletResponse res = ActionUtil.getResponse();
|
res.setHeader("Access-Control-Allow-Origin", "*"); //允许跨域访问
|
res.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token");
|
res.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
|
|
|
boolean f = createFile();
|
ServiceModel model = new ServiceModel();
|
if(f){
|
model.setCode(1);
|
model.setMsg("上传成功");
|
}else{
|
model.setCode(0);
|
model.setMsg("上传失败");
|
}
|
result = ActionUtil.tojson(model);
|
return SUCCESS;
|
}
|
|
public boolean createFile(){
|
String loadpath = ActionUtil.getSession().getServletContext().getRealPath("/");
|
String str = new File(loadpath).getParentFile().getAbsolutePath();
|
boolean flag = false;
|
String root = str+"/uploadfiles/"; // 上传路径
|
//System.out.println(battname+"***");
|
for(int i=0;i<file.length;i++){
|
String savepath=root+battname+"/"+fileFileName[i];
|
//System.out.println(savepath);
|
FileInputStream fis=null;
|
FileOutputStream fos=null;
|
try {
|
File f = new File(savepath);
|
if(!f.exists()){
|
if(!f.getParentFile().exists()){
|
f.getParentFile().mkdirs();
|
}
|
f.createNewFile();
|
}
|
/** 创建输入流 */
|
fis = new FileInputStream(file[i]);
|
/** 输出流 根据文件的路径+文件名称创建文件对象 */
|
fos = new FileOutputStream(f);
|
/** 读取字节 */
|
byte b[] = new byte[1024];
|
int n = 0;
|
/** 读取操作 */
|
while ((n = fis.read(b)) != -1) {
|
/** 写操作 */
|
fos.write(b, 0, n);
|
}
|
fos.flush();
|
flag = true;
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally{
|
/** 关闭操作 */
|
try {
|
if (fis != null) {
|
fis.close();
|
}
|
if (fos != null) {
|
fos.close();
|
}
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
return flag;
|
}
|
|
public String UploadIphoneFile(){
|
HttpServletResponse res = ActionUtil.getResponse();
|
res.setHeader("Access-Control-Allow-Origin", "*"); //允许跨域访问
|
res.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token");
|
res.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
|
Gson gson = new Gson();
|
int[] arr = gson.fromJson(filestr, int[].class);
|
|
System.out.println("文件名"+fname);
|
System.out.println("文件内容:"+filestr);
|
System.out.println("电池组名称"+battname);
|
boolean f = createFileByarr(arr,fname,battname);
|
|
ServiceModel model = new ServiceModel();
|
if(f){
|
model.setCode(1);
|
model.setMsg("上传成功");
|
}else{
|
model.setCode(0);
|
model.setMsg("上传失败");
|
}
|
result = ActionUtil.tojson(model);
|
return SUCCESS;
|
}
|
|
/**
|
*
|
* @param arr 文件的字节数组
|
* @param fname 文件名
|
* @param bname 电池组名称
|
* @return 是否生成文件成功
|
*/
|
public boolean createFileByarr(int[] arr,String fname,String bname){
|
String loadpath = ActionUtil.getSession().getServletContext().getRealPath("/");
|
String str = new File(loadpath).getParentFile().getAbsolutePath();
|
boolean flag = false;
|
String root = str+"/uploadfiles/"; // 上传路径
|
//System.out.println(battname+"***");
|
String savepath=root+bname+"/"+fname;
|
//System.out.println(savepath);
|
FileOutputStream fos=null;
|
byte[] bytes = new byte[arr.length];
|
for(int i=0;i<arr.length;i++){
|
bytes[i] = (byte)(arr[i] & 0xFF);
|
}
|
|
try {
|
File f = new File(savepath);
|
if(!f.exists()){
|
if(!f.getParentFile().exists()){
|
f.getParentFile().mkdirs();
|
}
|
f.createNewFile();
|
}
|
fos = new FileOutputStream(savepath);
|
fos.write(bytes);
|
fos.flush();
|
flag = true;
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally{
|
/** 关闭操作 */
|
try {
|
if (fos != null) {
|
fos.close();
|
}
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return flag;
|
}
|
|
public void setFilestr(String filestr) {
|
this.filestr = filestr;
|
}
|
|
public void setFname(String fname) {
|
this.fname = fname;
|
}
|
|
public void setFile(File[] file) {
|
this.file = file;
|
}
|
|
public void setFileFileName(String[] fileFileName) {
|
this.fileFileName = fileFileName;
|
}
|
|
|
public void setFileContentType(String[] fileContentType) {
|
this.fileContentType = fileContentType;
|
}
|
|
public String getResult() {
|
return result;
|
}
|
|
public void setBattname(String battname) {
|
this.battname = battname;
|
}
|
}
|