在封装一个图片上传模块的插件时,需要支持可以删除图片的功能,大概界面如下:
上传完后,在下面的预览区显示,点击垃圾桶按钮的时候删除掉服务器对应的图像,在删除的时候,本人遇到了一个问题,使用File.delete()方法总是返回false。折腾了一回,写了一个测试类,还是返回false。
下面是我的测试类:
package com.zhdw.mgrclient.test;
import java.io.File;
public class FileDeleteTest {
public static void main(String[] args) {
String path = "http://192.168.8.133/zhdw/attached/headImg/2018/04/08/172b9a1f-7ecf-4720-b6ea-fdec6b84268c.png";
File file = new File(path);
boolean bl = file.delete();
if(bl){
System.out.println("删除文件成功");
}else{
System.out.println("删除文件失败");
}
}
}
控制台输出:
删除文件失败
我使用的是Nginx服务器代理。在浏览器里该路径是可以访问的(图片为了测试,随便用QQ截图截了一张)
解决方案
看了网上的几篇博客,说用System.gc(),不过我本地使用了下,测试还是没用。
或许是不能使用nginx这种地址吧,我最后使用nginx代理实际磁盘位置,结果成功了。