日期:2014-05-16  浏览次数:20370 次

jspsmartupload实现上传
注意:没有解决中文乱码的问题,要解决只要下载修改过的jspsmartupload即可
	SmartUpload su = new SmartUpload();
	su.initialize(pageContext);
	//设置每个上传文件最大值
	su.setMaxFileSize(10000000);
	//设置所有上传文件的最大值
	su.setTotalMaxFileSize(20000000);
	//设置允许上传的文件类型
	su.setAllowedFilesList("doc,docx");
	//设置不允许上传的文件类型
	su.setDeniedFilesList("exe,bat,jsp,htm,html");
	try {
		su.upload();
		//获取上传的第一个文件,以后的文件可以循环获取
		com.jspsmart.upload.File file=su.getFiles().getFile(0);
		//获取文件扩展名
		String ext=file.getFileExt();
		//保存文件
		file.saveAs("info\\otherfunction\\userupload\\entry_form\\form."+ext,file.SAVEAS_VIRTUAL);

	} catch (Exception e) {
		e.printStackTrace();
	}

?

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:\upload\sample.zip。而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)执行后若Web应用程序的根目录是webapps/jspsmartupload,则另存的文件名实际是webapps/jspsmartupload/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,以便移植。

?