etContext().getRealPath("/")+"jsp\\"; String trace=aa+myFileName; //取得别的参数 String explain=(String)mySmartUpload.getRequest().getParameter("text"); String send=(String)mySmartUpload.getRequest().getParameter("send"); //将文件保存在服务器端 myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL); %>
但是使用smartupload上传过大文件,或者多文件的时候可能出现CPU或内存占用过高的问题.并且:只有重新启动容器才能恢复正常!这正是我最后我放弃了使用smartupload的原因.
二,commons-fileupload组件
这个组件是我现在使用的组件,下载地址:http://jakarta.apache.org/site/downloads/downloads_commons-fileupload.cgi,包内包含了API文档.
使用该组件的例子:
<%@ page language=“java”contentType=“text/html;charset=GBK”%><%@ page import=“java.util.*”%><%@ page import=“org.apache.commons.fileupload.*”%><html><head><title>文件上传</title></head><% DiskFileUpload fu = new DiskFileUpload(); // 设置允许用户上传文件大小,单位:字节 fu.setSizeMax(10000000); // 设置最多只允许在内存中存储的数据,单位:字节 fu.setSizeThreshold(4096); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 fu.setRepositoryPath(“D:\\Tomcat5\\TEMP”); //开始读取上传信息 List fileItems = fu.parseRequest(request); // 依次处理每个上传的文件 Iterator iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); //忽略其他不是文件域的上一页 [1] [2] [3] 下一页
|