这个问题可能被问过很多次,但是我没有找到直接的答案。
实际上,我正在使用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();
}
}
}
问题内容: 我对让Docker能够访问外部文件感兴趣,但是我不希望将它们作为卷包含在内。我需要访问的文件会随着时间变化,这意味着我将需要反复重新安装,除非我只能安装一个目录,而且该目录中的任何内容也会被安装。 我只需要允许将软件程序推送到容器中,以“在”我的本地系统上运行,该软件程序可以访问我的本地系统上的文件。 忠告?除了添加需要作为卷处理的文件之外,还有其他方法吗? 问题答案: 我用以下命令解
出于某种原因,我真的很挣扎,希望有人能帮我指明正确的方向。 我的目标是Android11/API30,这似乎是所有问题的根源。针对较低的目标可能对我有用——但谷歌似乎最终会迫使我走上这条路,所以我还是想办法解决这个问题。 我的应用程序通常按照标准写入文件 这给了我一个设备上的路径 我还尝试了其他类型,比如: 结果在 我的应用程序没有任何问题实际上写文件到这个位置。在Android11中,我必须用本
我在一个Web发布者那里有一个HTML页面,我想将其内容加载到我的Web应用程序中的JSP中。我尝试了JSP:Include操作和Include指令,但它们似乎都只采用相对路径。我无法拥有该html文件的本地副本,因为该文件可能会在将来发生更改,我需要动态包含它。如何使用绝对路径包含文件?
我有一个Xperia Neo V没有任何内部存储--只有一个SD卡作为外部存储,而Galaxy S3有内部和外部存储。 使用此函数时只能访问内部存储(S3)上的文件,但Xperia Neo V没有问题。 如何访问内部和外部存储上的文件?
问题内容: 我们在apache服务器中托管的Web应用程序中使用Java库。库中的ReadConfFile方法返回文件未找到错误。方法如下 是否允许从Web应用程序访问本地文件系统?如果是,那么是否需要设置任何访问权限? 问题答案: 要快速回答您的问题:您可以从Web应用程序访问文件系统,但是必须检查应用程序服务器/ Web容器上如何配置SecurityManager(如果已安装)。 但是,您读取