JspSmartUpload 实现上传

2、save

  作用:将全部上传文件保存到指定目录下,并返回保存的文件个数。

  原型:public int save(String destPathName)

  和public int save(String destPathName,int option)

  其中,destPathName为文件保存目录,option为保存选项,它有三个值,分别是SAVE_PHYSICAL,SAVE_VIRTUAL和SAVE_AUTO。(同File类的saveAs方法的选项之值类似)SAVE_PHYSICAL指示组件将文件保存到以操作系统根目录为文件根目录的目录下,SAVE_VIRTUAL指示组件将文件保存到以Web应用程序根目录为文件根目录的目录下,而SAVE_AUTO则表示由组件自动选择。

  注:save(destPathName)作用等同于save(destPathName,SAVE_AUTO)。

<form method="post" action="uploadfile.jsp" enctype="multipart/form-data">
<input type="file" name="file" size="50">
</form>

这里enctype="multipart/form-data"是form的MIME编码,这个参数才可以上传或下载文件。

<%		mySmartUpload.initialize(pageContext); //执行初始化操作
		mySmartUpload.upload(); //upload file data
		int size = 1024 * 1024 * 1024;
		if (mySmartUpload.getFiles().getSize() > size) {
			out.println("the files have to be < 1024MB !");
		} else {
			try {
				mySmartUpload.save("/Upload");
				out.print("成功上传文件! ");
			} catch (Exception e) {
				out.print(e.toString());
			}
		}%>

这里通过save()方法,将文件上传到根目录的Upload文件夹中。

1、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:\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,以便移植。

SAVEAS_PHYSICAL 是绝对路径,SAVEAS_VIRTUAL是相对路径(相当于前面加上Tomcat/Webapps/YourProject/)。

<%
		mySmartUpload.initialize(pageContext); //initiate
		mySmartUpload.upload(); //upload file data
		int size = 1024 * 1024 * 1024;
		if (mySmartUpload.getFiles().getSize() > size) {//control the size of the file
			out.println("the files have to be < 1024MB !");
		} else {
			try {
				for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {//iterating the files
					File file = mySmartUpload.getFiles().getFile(i);
					if (file.isMissing())
						continue;
					String virtualPath = "/Upload/";//Tomcat/webapps/YourProject/Upload
					file.saveAs(virtualPath + file.getFileName(),
							mySmartUpload.SAVE_VIRTUAL);
				}
				out.print("成功上传文件! ");
			} catch (Exception e) {
				out.print(e.toString());
			}
		}
	%>

上述代码使用了SaveAs方法,其中SAVEAS_VIRTUAL,存放到Web项目中的,Upload文件夹中。

下面的代码使用了SAVEAS_PHYSICAL,和上面的代码相同功能,其中 pageContext.getServletContext().getRealPath("/")来获得Webapps/Project的路径。

<%
		mySmartUpload.initialize(pageContext); //initiate
		mySmartUpload.upload(); //upload file data
		int size = 1024 * 1024 * 1024;
		if (mySmartUpload.getFiles().getSize() > size) {//control the size of the file
			out.println("the files have to be < 1024MB !");
		} else {
			try {
				for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {//iterating the files
					File file = mySmartUpload.getFiles().getFile(i);
					if (file.isMissing())
						continue;
					String physicalPath = pageContext.getServletContext()//Tomcat/webapps/YourProject/Upload
							.getRealPath("/") + "/Upload/";
					file.saveAs(physicalPath + file.getFileName(),
							mySmartUpload.SAVE_PHYSICAL);
				}
				out.print("成功上传文件! ");
			} catch (Exception e) {
				out.print(e.toString());
			}
		}
	%>

JspSmartUpload 实现上传

时间: 2024-12-10 02:43:27

JspSmartUpload 实现上传的相关文章

【Jsp】使用AjaxFileUploader与jspsmartupload完成不刷新的Ajax文件上传系统

这个不刷新的Ajax文件上传系统同样可以用来做预览图 虽然预览图完全可以通过不上传图片就完成,但是不刷新的Ajax文件上传系统可以做到上传完图片立即返回上传结果给用户的结果 上次在<[Jsp]使用jspsmartupload完成简单的文件上传系统>(点击打开链接)一文中完成了一个简单的文件上传系统 但是这个文件上传系统过于传统, 上传完文件之后需要跳转到另外一个页面中提交表单,处理表单,然后再提供一个"返回"按钮给用户 如果用户要求上传之后,马上看到图片,并且不跳转,只好利

用jspSmartUpload组件实现文件上传、下载

jspSmartUpload组件,可从http://download.csdn.net/user/dearchuansir下载,压缩包的名字是jspSmartUpload.zip.下载后,将其解压到Tomcat的webapps目录下.解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用.如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作: 1.进入命令行状态,将目录切换

jspSmartUpload上传下载使用例子

Html代码 <%@ page contentType="text/html;charset=GBK"%> <html> <head> <title>File Upload</title> </head> <body> <font size=5 color=#FF0000> <b>文件上传----使用jspsmart upload组件</b> </font>

jspsmartupload上传出现com.jspsmart.upload.SmartUploadException: File can&#39;t be saved (1120).

出现这个错误的原因可能是自己访问地址的ip有问题 输出你的ip地址看看是不是0.0.0.0.0.0.0.1这个是ipv6表示的本机地址对应的ipv4就是127.0.0.1. 这个地址在重命名文件的时候会出现错误所以我们可以将其改成其他的ip地址 可以尝试换成自己局域网的ip地址或是自己的本机的ip地址即路径 不再是http://localhost:8080/myupload/myupload.jsp而是 http://192.168.1.6:8080/myupload/myupload.jsp

使用jspSmartUpload实现文件的上传

1.1.  使用jspSmartUpload实现文件的上传 1.1.1.  新建一个web工程 1.1.2.  上传页面index.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta http-

【Jsp】使用jspsmartupload完成简单的文件上传系统

请不要妄想,一个html的file控件,再加上javascript与jquery语句就可以完成文件上传, 文件上传系统从来是需要配合服务器来完成的 用户把自己的文件上传到服务器上 文件上传系统是很复杂的一件事. html的file控件向动态网页语言以post方式通过enctype="multipart/form-data"解码成二进制文件就不管了 动态网页需要对其通过asp,jsp,php,asp.net编程,才能正常把文件保存到服务器中 网络上对文件处理的方法是五花八门,让人无从下手

JSP+Servlet中使用jspsmartupload.jar进行图片上传下载

JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post" enctype="multipart/form-data"> <input type="file" name="myfile"> <input type="text" name="cmt&q

JSP使用jspsmartupload实现文件的上传

这个程序出现点问题,输入的只要是中文,都会出现乱码,自己经过各种各样的方法,还是无法解决,哪位大神能赐教一下…… :uploadFileForm.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.ge

使用jspSmartUpload组件实现图片的上传

upload.html页面 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>选择上传的图片</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta