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