我在这里得到同样的问题是我的代码
@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:\用户\拉詹\文件\工作空间STS-3.7.3.RELEASE.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \ wtpwebapps \ MusicStore \ WEB-INF \资源\图像\
但是上传的文件没有显示在我的ide中的package explorer中的webapps / resources / imaged中。
答案 0 :(得分:3)
这可能是因为你直接从eclipse运行你的项目。执行此操作时,这是我们的MySqlDataAdapter da = new MySqlDataAdapter("", con);
da.SelectCommand.Parameters.AddWithValue("@sid", specializationId);
da.SelectCommand.Parameters.AddWithValue("@uid", userId);
da.SelectCommand.Parameters.AddWithValue("@counter", counter);
da.Fill(dt);
所在的位置(在工作区内)。 eclipse使用此路径。所以在这种情况下,WAR
是上下文基本路径。这就是文件存储在那里的原因。尝试从终端运行tomcat,你将在所需的位置获取它。