【问题标题】:Delete Image from Local path using Spring MVC使用 Spring MVC 从本地路径中删除图像
【发布时间】:2017-03-08 12:12:52
【问题描述】:

这是使用 Spring MVC 将图像保存到本地系统的方法

private void saveProductImage(Product product)
    {
        System.out.println("Product Image - "+ product.getProduct_image());
            try{
                if(product.getProduct_image()!= null)
                {
                    Path path=Paths.get("E://Eclipse//WorkSpace//TechGrab//src//main//webapp//resources//images//product-images//"+ product.getProduct_id()+".png");
                    product.getProduct_image().transferTo(new File(path.toString()));
                    System.out.println("Product Image Saved !!!");
                }
            }
            catch(Exception e)
            {
                System.out.println("Failed to Save image !!");
            }
    }

这里 Product 是我的模型,pathPath 的对象,我将图像保存为产品 ID od图片使用

product.getProduct_image().transferTo(new File(path.toString()));

现在 - 我想连同产品图片一起删除产品详细信息,所以这里是我的产品详细信息被此删除

@Transactional
    public void deleteProduct(String product_id) {
        Session ses = sf.openSession();
        Transaction tr = ses.beginTransaction();
        Product temp = ses.get(Product.class, product_id);
        ses.delete(temp);
        tr.commit();
        ses.close();

    }

正在获取产品ID的删除方法,但现在图像仍以产品ID保存在本地系统中,我该如何删除产品图像!帮帮我吧:)

我已经尝试过了 - 但它不起作用!

private void deleteProductImage(Product product)
    {
        System.out.println("Product Image - "+ product.getProduct_image());
            try{
                if(product.getProduct_image()!= null)
                {
                    Path path=Paths.get("E://Eclipse//WorkSpace//TechGrab//src//main//webapp//resources//images//product-images//"+ product.getProduct_id()+".png");
                    Files.delete(path);
                    System.out.println("Product Image Deleted !!!");
                }
            }
            catch(Exception e)
            {
                System.out.println("Failed to Delete image !!");
            }
    }

抱歉英语不好

【问题讨论】:

  • 你保存在文件系统中..并从数据库中删除..不明白
  • 我保存在我的系统上而不是数据库上
  • 检查路径 - E://Eclipse//WorkSpace//TechGrab//src//main//webapp//resources//images//product-images//"+ 产品。 getProduct_id()+".png" 图像与产品的产品 ID 一起保存在系统中
  • 删除数据库中的产品后删除文件即可。
  • 无法手动删除文件,因为它是 Spring MVC

标签: java spring hibernate jsp spring-mvc


【解决方案1】:

哦,终于找到了最简单的解决方案! 我的坏,忘记事情xD

以为答案是

@Transactional
    private void deleteProductImage(Product product)
    {
         try { 
             File file = new File("E://Eclipse//WorkSpace//TechGrab//src//main//webapp//resources//images//product-images//"+ product.getProduct_id()+".png");
             if(file.delete()) { 
                System.out.println(file.getName() + " is deleted!");
             } else {
                System.out.println("Delete operation is failed.");
                }
          }
            catch(Exception e)
            {
                System.out.println("Failed to Delete image !!");
            }
    }

泰!帖子已关闭

【讨论】:

  • 感谢今天节省时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-29
  • 1970-01-01
  • 2015-01-04
相关资源
最近更新 更多