在用SmartUpload 上传文件的时候,提示以下错误:
java.lang.IllegalArgumentException: The path is not a virtual path.
com.jspsmart.upload.SmartUpload.getPhysicalPath(SmartUpload.java:678)
com.jspsmart.upload.File.saveAs(File.java:67)
com.syyx.servlet.uploadpic.UploadpicServlet.UpLoadShopInfo(UploadpicServlet.java:136)
com.syyx.servlet.uploadpic.UploadpicServlet.doPost(UploadpicServlet.java:71)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
解决方法:
在上传文件的代码中:
SmartUpload su = new SmartUpload();// 新建一个SmartUpload对象
中间的省略
String url="";
try {
file.saveAs(url, su.SAVE_PHYSICAL);
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (SmartUploadException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
这块的url应该是绝对路径。例如: "C:/upload/"
*************************************************************
String url="";
try {
file.saveAs(url, su.SAVE_VIRTUAL);
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (SmartUploadException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
)
这块的url相对于上传文件在的相对路径 例如:"/upload/"
阅读(4997) | 评论(0) | 转发(0) |