struts2上传文件后会被秒删的解决方法

上传完文件后文件会被自动删除的,解决方法是,在代码中加一个复制文件的命令,让程序把上传好的文件复制到别的地方
package com.how2java.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

public class UploadAction {

File doc;
String docFileName;
String docContentType;

public File getDoc() {
    return doc;
}

public void setDoc(File doc) {
    this.doc = doc;
}

public String getDocFileName() {
    return docFileName;
}

public void setDocFileName(String docFileName) {
    this.docFileName = docFileName;
}

public String getDocContentType() {
    return docContentType;
}

public void setDocContentType(String docContentType) {
    this.docContentType = docContentType;
}





  // 复制命令的代码如下:

public static void copyFile(File doc, String destPath){
    
	
    File srcFile =  doc;
    File destFile = new File(destPath);
      
    //缓存区,一次性读取1024字节
    byte[] buffer = new byte[1024];

    try (
            FileInputStream fis = new FileInputStream(srcFile);
            FileOutputStream fos = new FileOutputStream(destFile);             
    ){
        while(true){
            //实际读取的长度是 actuallyReaded,有可能小于1024
            int actuallyReaded = fis.read(buffer);
            //-1表示没有可读的内容了
            if(-1==actuallyReaded)
                break;
            fos.write(buffer, 0, actuallyReaded);
            fos.flush();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
      
}
  
/**
 *
 * @param srcPath 源文件夹
 * @param destPath 目标文件夹
 */

// 复制命令的代码以上:

public String upload() {
    System.out.println(doc);

//然后在这里加入复制命令的执行如下:
String destPath = “c:/”+docFileName;
UploadAction.copyFile(doc, destPath);
//然后在这里加入复制命令的执行以上:

    System.out.println(docFileName);
    System.out.println(docContentType);
    return "success";
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值