使用jspSmartUpload时,文件保存路径报错IllegalArgumentException
代码如下:路径①Stringpath=“/upload”;②Stringpath=“D:/”;方法intcount=mySmartUpload.save(path);使用...
代码如下:
路径
①String path = “/upload”;
②String path = “D:/”;
方法
int count = mySmartUpload.save(path);
使用①时,会报错【This path does not exist(1135)】
使用②时,则能正常保存;
但我只能提供类似①的相对路径,如何破? 展开
路径
①String path = “/upload”;
②String path = “D:/”;
方法
int count = mySmartUpload.save(path);
使用①时,会报错【This path does not exist(1135)】
使用②时,则能正常保存;
但我只能提供类似①的相对路径,如何破? 展开
展开全部
以我的工作经验,我写个例子给你,希望你好好理解,如下:
//获取classes的根目录的绝对路径
URL urlPath = Test.class.getResource("/");
System.out.println(urlPath.getFile());
try {
//urlPath.getFile()会返回classes根目录的绝对路径,然后再加上你的upload相对路径,结果就是F:\Workspace\workdata\java\Eclipse\pn\WebContent\WEB-INF\classes\upload,(这是我的项目目录)
String absPath = new File(urlPath.getFile(), "upload").getCanonicalPath();
System.out.println(absPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
如果还不符合你的要求,以下还有两种方法:
1、使用相对路径
把String absPath = new File(urlPath.getFile(), "upload").getCanonicalPath();换成String absPath = new File(urlPath.getFile()+"../../../", "upload").getCanonicalPath();
2、直接找到项目的跟目录
String absPath = new File("upload").getCanonicalPath();返回的是F:\Workspace\workdata\java\Eclipse\pn\upload
以上方法是我从工作经验中总结出来的,对linux和windows系统都通用,绝对是万能的方法。
//获取classes的根目录的绝对路径
URL urlPath = Test.class.getResource("/");
System.out.println(urlPath.getFile());
try {
//urlPath.getFile()会返回classes根目录的绝对路径,然后再加上你的upload相对路径,结果就是F:\Workspace\workdata\java\Eclipse\pn\WebContent\WEB-INF\classes\upload,(这是我的项目目录)
String absPath = new File(urlPath.getFile(), "upload").getCanonicalPath();
System.out.println(absPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
如果还不符合你的要求,以下还有两种方法:
1、使用相对路径
把String absPath = new File(urlPath.getFile(), "upload").getCanonicalPath();换成String absPath = new File(urlPath.getFile()+"../../../", "upload").getCanonicalPath();
2、直接找到项目的跟目录
String absPath = new File("upload").getCanonicalPath();返回的是F:\Workspace\workdata\java\Eclipse\pn\upload
以上方法是我从工作经验中总结出来的,对linux和windows系统都通用,绝对是万能的方法。
追问
URL urlPath = Test.class.getResource("/");中的【Test】是哪里来的?
追答
Test.class是我的类,你随便找个类就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询