话不多说,直接上代码。
1.java后台
package com.bjhit.eranges.actions.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class UploadifyTestAction extends ActionSupport {
private static final long serialVersionUID = 837481714629791752L;
private File file;
private String fileName;
private String fileSize;
private String uploadSize;
private String responseInfo;
public String getUploadedSize() throws IOException{
uploadSize = "0";
File newFile = new File("D:\"+fileName);
File fileUploadDetal = new File("D:\"+fileName+".rhxy");//临时文件,记录文件上传的状态
if (newFile.exists()) {
if (!fileUploadDetal.exists()) {
//此文件夹下有重名文件,不允许上传
return "falier";
}else{
FileReader fileReader = new FileReader(fileUploadDetal);
BufferedReader bufferedReader = new BufferedReader(fileReader);
bufferedReader.readLine();
String name = bufferedReader.readLine();
bufferedReader.readLine();
String size = bufferedReader.readLine();
bufferedReader.readLine();
String uploadedSize = bufferedReader.readLine();
bufferedReader.readLine();
String createTime = bufferedReader.readLine();
bufferedReader.close();
fileReader.close();
System.out.println("文件:"+name+" "+size+"字节, 已上传"+uploadedSize+"字节,更新时间"+createTime);
if (name.equals(fileName)) {
uploadSize = uploadedSize;
}else{
System.out.println("文件:"+fileName+" 上传信息有错误。");
}
}
}
return "uploadsize";
}
public String doUpload() throws Exception {
System.out.println("=======================================");
System.out.println(fileName);
System.out.println(file.length()+",已传大小:"+uploadSize);
File newFile = new File("D:\"+fileName);
File fileUploadDetal = new File("D:\"+fileName+".rhxy");//临时文件,记录文件上传的状态
if (!newFile.exists()) {
newFile.createNewFile();
}else{
if (!fileUploadDetal.exists()) {
//此文件夹下有重名文件,不允许上传
return "falier";
}
}
copyFile(file,newFile);
if (uploadSize.equals(fileSize)) {
fileUploadDetal.delete();
}else{
if (!fileUploadDetal.exists()) {
fileUploadDetal.createNewFile();
}
FileWriter fileWriter = new FileWriter(fileUploadDetal);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write("文件名:");
bufferedWriter.newLine();
bufferedWriter.write(fileName);
bufferedWriter.newLine();
bufferedWriter.write("文件大小:");
bufferedWriter.newLine();
bufferedWriter.write(fileSize);
bufferedWriter.newLine();
bufferedWriter.write("已传大小:");
bufferedWriter.newLine();
bufferedWriter.write(uploadSize);
bufferedWriter.newLine();
bufferedWriter.write("更新时间:");
bufferedWriter.newLine();
bufferedWriter.write(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
bufferedWriter.close();
fileWriter.close();
}
responseInfo = "上传成功!";
return "doUpload";
}
private void copyFile(File oldFile,File newFile) throws IOException{
InputStream in = new FileInputStream(oldFile);
OutputStream out = new FileOutputStream(newFile,true);
byte[] buffer = new byte[1024];
int len = -1;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getResponseInfo() {
return responseInfo;
}
public void setResponseInfo(String responseInfo) {
this.responseInfo = responseInfo;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFileSize() {
return fileSize;
}
public void setFileSize(String fileSize) {
this.fileSize = fileSize;
}
public String getUploadSize() {
return uploadSize;
}
public void setUploadSize(String uploadSize) {
this.uploadSize = uploadSize;
}
}package com.bjhi