使用Tomcat和Struts 2。
public FileAction class
{
......
public upload()
{
.....
String fullFileName = request.getContextPath() + "/productImages/" + filename;
File theFile = new File(fullFileName);
FileUtils.copyFile(upload, theFile);
.....
}
}
问题是当我上传图片时,它不会在localhost:8085/shoppingCart/productImages
中添加图片,也不会给出任何例外。
但是当我写String fullFileName="c:upload/productImages/" + filename;
时,它会将文件保存在c:upload/productImages/
路径
表示在c:upload/productImages/
案例中正常工作
答案 0 :(得分:1)
如果要将文件上载到服务器的上下文,则需要使用ServletContext.getRealPath(...)
来查找已部署应用程序的基本目录。请注意,如果您正在部署war文件,这将不。上传的文件应该转到服务器本身的绝对位置。
要下载上传的图片,您需要编写stream result(因为您使用的是Struts 2),并使用它将上传的文件加载并流式传输回客户端。