这个问题可能会多次被问到,但我找不到直接答案。
实际上我正在使用WebSphere来运行我的Java Web应用程序,我想将上传的文件/资源保存/存储到服务器目录之外的文件夹,比如说D:/resources/
,但我担心的是,我们是否可能这样做?因为这可能是一种安全漏洞。
如果可以,那么如何在Java Web应用程序中执行此操作。
答案 0 :(得分: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();
}
}
}