我在这里得到了同样的问题是我的代码上传的文件是没有得到保存在资源下的webapps
@RequestMapping(value = "/admin/productInventory/addProduct", method = RequestMethod.POST)
public String addProductInInventory(@ModelAttribute("product") Product product, HttpServletRequest request) {
productDao.addProduct(product);
MultipartFile productImage = product.getProductImage();
String rootDirectory = request.getSession().getServletContext().getRealPath("/ ");
System.out.println("rootDirectory >>>"+rootDirectory);
path = Paths.get(rootDirectory + "\\WEB-INF\\resources\\images\\" +product.getProductName()+"_"+product.getProductId());
if(productImage != null && !productImage.isEmpty()) {
try{
productImage.transferTo(new File(path.toString()));
System.out.println("actual path>>>" +path.toString());
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException("Product image saving faild.");
}
}
return "redirect:/admin/productInventory";
}
现在的文件越来越保存在路径>>
C:\用户\ rajan \ Documents \ workspace-sts-3.7.3.RELEASE.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ MusicStore \ WEB-INF \ resources \ images \
但上传的文件没有显示在我的IDE的包资源管理器中的webapps/resources/imaged中。
我认为你应该把图像存储在一个孤立的位置,并且不要修改你的网络应用程序的资源,在这种情况下,如果你有一些存储库你是不同步的,它不是一个好的做法 – cralfaro
您好cralfaro“如果你有一些存储库,你是不同步的“你能说清楚吗? –
当然,如果您将图像存储在WEB-INF /资源内部,它就在您的项目结构中,并且您还有图像,css,html等......如果您使用用户上传的文件修改该内容,则这些文件只存储在服务器中,如果您决定迁移服务器或移动到另一个容器,则会注意到所有这些映像都未与本地存储库同步,因为您从不提交它们。最好的是保持你的战争孤立,并将这些图像保存在某些全局路径中,如“/ home/rajan/app/images”或任何服务器的通用路径。 – cralfaro