我在這裏得到了同樣的問題是我的代碼上傳的文件是沒有得到保存在資源下的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