0

这个问题可能被问了很多次,但我没有找到直接的答案。

实际上我正在使用 WebSphere 来运行我的 Java Web 应用程序,我想将上传的文件/资源​​保存/存储到服务器目录之外的文件夹中,D:/resources/但我担心的是,我们有可能这样做吗?因为这可能是一种安全漏洞。

如果有可能,那么如何在 Java Web 应用程序中做到这一点。

4

1 回答 1

0

下面是在 struts 1.x 中上传文件的代码

public class MyModel extends ActionForm {

    private static final long serialVersionUID = 1L;

    private FormFile file = null;

    public void setFile(FormFile file) {
        this.file = file;
    }

    public FormFile getFile() {
        return this.file;
    }

}



public class FileUploadAction extends DispatchAction{

MyModel m = (MyModel) form;
FormFile myFile = m.getFile();

String contentType = myFile.getContentType();
String fileName = myFile.getFileName();

int fileSize = myFile.getFileSize();
byte[] fileData = myFile.getFileData();

String recieveMaterialFileName = myFile.getFileName();
File newFile = new File("D:/resources/images", recieveMaterialFileName);

if(!newFile.exists()){
      FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(newFile);
            fos.write(myFile.getFileData());
            fos.flush();
        } catch (FileNotFoundException e) {
            System.err.println("Error " + e);
        } catch (IOException e) {
            System.err.println("Error " + e);
        }finally{
            fos.close();
        }
    }
}
于 2013-10-04T09:45:15.123 回答