【问题标题】:How to change getRealPath("/") path from .metadata to WEB-INF如何将 getRealPath("/") 路径从 .metadata 更改为 WEB-INF
【发布时间】:2017-04-14 13:57:36
【问题描述】:

我正在从应用程序上传图像文件,现在我想将它们保存在 WEB-INF 中,但 eclipse 将其保存在 .metadata 文件夹中 .metadata.plugins\org.eclipse.wst.server.core\tmp0 \wtpwebapps

请告诉我谁能获得 WEB-INF3 的路径

@RequestMapping(value = "/admin/productInventory/addProduct", method = RequestMethod.POST)
public String addProduct(@ModelAttribute("product") Product product,HttpServletRequest request) {//httservlet- aswe need to use that toget thesessionpath
    productDao.addProduct(product);
    /////add image
    MultipartFile productImage= product.getProductImage();
    String rootDirectory= request.getSession().getServletContext().getRealPath("/"); //C:\Users\Avinash Kharche\ECommerce_Spring_Neon\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\emusicStore\
    path =Paths.get(rootDirectory + "\\WEB-INF\\resources\\images\\" + product.getProductId()+".png");

    //path =Paths.get("C:\\Users\\Avinash Kharche\\ECommerce_Spring_Neon\\emusicStore\\src\\main\\webapp\\WEB-INF\\resources\\images\\" + product.getProductId()+".png");


    if(productImage!=null && !productImage.isEmpty()){
        try{
            productImage.transferTo(new File(path.toString()));
        }catch(Exception e){
            e.printStackTrace();
            throw new RuntimeException("Product image saving failed",e);

        }
    }
    /////
    return "redirect:/admin/productInventory";

}

我不想使用带注释的路径

(//path =Paths.get("C:\Users\Avinash Kharche\ECommerce_Spring_Neon\emusicStore\src\main\webapp\WEB-INF\resources\images\" + product.getProductId()+".png ");)

请告诉我任何解决方案。谢谢

【问题讨论】:

  • 谁能帮我解决这个问题。我被卡住了。

标签: java spring eclipse relative-path absolute-path


【解决方案1】:

解决办法如下:

    @RequestMapping(value = "/admin/productInventory/addProduct", method = RequestMethod.POST)
public String addProductPost(@ModelAttribute("product") Product product, HttpServletRequest request) {
    productDao.addProduct(product);

    MultipartFile productImage = product.getProductImage();
    String rootDirectory = request.getSession().getServletContext().getRealPath("/");
    path = Paths.get(rootDirectory + "/WEB-INF/resources/images/" + product.getProductId() + ".png");

    if (productImage != null && !productImage.isEmpty()) {
        try {
            productImage.transferTo(new File(path.toString()));
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("Product image saving failed", e);
        }
    }

    return "redirect:/admin/productInventory";
}

更改路径:

path =Paths.get(rootDirectory + "\\WEB-INF\\resources\\images\\" + product.getProductId()+".png");

path = Paths.get(rootDirectory + "/WEB-INF/resources/images/" + product.getProductId() + ".png");

确保对编辑和删除功能执行相同的操作。我有同样的问题。使用您的版本,它可以在 Windows 上运行,但在 Mac 上,我必须更改路径,如上所示

【讨论】:

    猜你喜欢
    • 2016-11-10
    • 2011-03-24
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2012-01-11
    • 2010-11-27
    相关资源
    最近更新 更多