jsp上传怎样改才能把文件存放在指定目录
来源:百度知道 编辑:UC知道 时间:2024/09/25 07:24:17
String filePath = "/photo";
String messages="";
String forward="";
String href="";
PhotoDao photoDao = new PhotoDao();
PhotoBean photoBean = new PhotoBean();
SmartUpload su = new SmartUpload();
long maxsize = 2 * 1024 * 1024;
try {
su.initialize(this.getServletConfig(), request, response);
su.setMaxFileSize(maxsize);
su.setAllowedFilesList("jpg,gif,bmp");
su.upload();
String photoInfo=su.getRequest().getParameter("info");
if(photoInfo==null||photoInfo.equals("")){
messages="请输入照片描述信息!";
forward="/admin/error.jsp";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
}
else{
saveAs作用:将文件换名另存。
原型: public void saveAs(JAVA.lang.String destFilePathName)
或 public void saveAs(JAVA.lang.String destFilePathName, int optionSaveAs)
其中,destFilePathName是另存的文件名,optionSaveAs是另存的选项,该选项有三个值,分别是SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO。
SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件,
SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,
SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL。
例如,saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)执行后若Web服务器安装在C盘,则另存的文件名实际是c:/uploadsample.zip。
而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)执行后若Web应用程序的根目录是webapps/JSPsmartupload,则另存的文件名实际是webapps/PsmJSartupload/upload/sample.zip。
saveAs("/upload/sample.zip",SAVEAS_AUTO)执行时若Web应用程序根目录下存在upload目录,则其效果同saveAs("/upload/sample.zip",SAVEAS_VIRTUAL),否则同saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)。建议:对于Web程序的开发来说,最好使用SAVEAS_VIRTUAL,以便移植。