使用Java上载图像未在云中正确保存

使用Java上载图像未在云中正确保存,java,file,file-upload,web-deployment,Java,File,File Upload,Web Deployment,“我的表单”有一个上载按钮,供用户保存文件图像 ServletContext context = ServletActionContext.getServletContext(); String appPath = context.getRealPath(""); String filePath = appPath+"\\images\\categories"; File fileToCreate = new File(filePath, getMyFileFileName()); File

“我的表单”有一个上载按钮,供用户保存文件图像

ServletContext context = ServletActionContext.getServletContext();

String appPath = context.getRealPath("");
String filePath = appPath+"\\images\\categories";

File fileToCreate = new File(filePath, getMyFileFileName());
FileUtils.copyFile(getMyFile(), fileToCreate);
我需要上传图片并将其放在图像/类别文件夹中,以便将来访问。它在我的localbuild中运行良好,但当我通过上传.war文件在云端部署它时,它就不再工作了。它找不到图像

访问图像时的HTML错误如下

type Status report

message /Teapop/images/categories/team.png

description The requested resource (/Teapop/images/categories/team.png) is not available.

我做错了什么?

请改用File.separator

String filePath = appPath+File.separator+"images"+File.separator+"categories";
请给我一些反馈


希望有帮助

您假设云有一个持久的文件系统,您的应用程序将始终在同一台主机上运行,并且最好在部署webapp的目录中写入(该目录将在下次部署时删除)。所有这些都是错误的假设。将数据保存在数据存储中,不管它是什么。请参阅幻灯片43和下面的内容,假设它在同一台主机上运行,为什么我的代码不起作用?首先,我怀疑您的云运行的是Windows。只有Windows在路径中使用反斜杠。它正在linux@JB谢谢你。这是我第一次探索aws,我从你们那里学到了很多。tnx:)