目录
1.使用SmartUpload实现文件上传功能
2.CKEditor富文本编辑器
SmartUpload组件特点
使用简单:编写少量代码,完成上传下载功能
能够控制上传内容
能够控制上传文件的大小、类型
缺点:目前已停止更新服务
SmartUpload类 用于实现文件上传和下载的操作 常用方法
属性名称 | 说 明 |
public final void initialize(PageContext pageContext) | 执行上传和下载的初始化工作,必须实现 |
public void upload() | 实现文件数据的上传,在initialize方法后执行 |
public int save(String pathName) | 将全部上传文件保存到指定的目录下,并返回保存的文件个数 |
public void setAllowFilesList(String ExtList) | 指定允许上传的文件扩展名,接收一个扩展名列表,以逗号分隔 |
public void setDeniedFilesList( String fileList) | 指定了禁止上传的文件扩展名列表,每个扩展名之间以逗号分隔 |
public void setMaxFileSize(long filesize) | 设定每个文件允许上传的最大长度 |
public void setTotalMaxFileSIze(long totalfilesize) | 设定允许上传文件的总长度 |
封装了所有上传文件的信息集合 常用方法
属性名称 | 说 明 |
public int getCount() | 取得文件上传的数目 |
public File getFile(int index) | 取得指定位置的File文件对象 |
public long getSize() | 取得上传文件的总长度 |
public Collection getCollection() | 将所有上传文件对象以Collection的形式返回 |
封装了单个上传文件所包含的所有信息 常用方法
方法名称 | 说 明 |
saveAs(String destFilePathName) | 将文件保存,参数destFilePathName是保存的文件名 |
isMissing( ) | 判断用户是否选择了文件,即对应表单项是否为空,返回值为boolean类型 |
public String getFieldName( ) | 获取表单中当前上传文件所对应的表单项的名称 |
public String getFileName( ) | 获取上传文件的文件名称,不包含路径 |
<%@page import="javax.security.auth.message.callback.PrivateKeyCallback.Request"%>
<%@page import="com.sun.org.apache.xalan.internal.xsltc.trax.SmartTransformerFactoryImpl"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//一、单位件上传
SmartUpload su=new SamrtUpload();
su.initialize(pageContext);
su.setCharset("utf-8");
su.setAllowdeFilesList("jpg,png,jpeg,gif");
su.setDeniedFilesList("exe,jsp,js,bat");
su.setMaxFileSize(1024*1024*2);
su.upload();
/* String path="images/";
File file=su.getFiles().getFile(0);
if(!file.isMissing){
file.setCharset("utf-8");
path+=file.getFileName();
file.saveAs(path,SmartUpload.SAVE_VIRTUAL);
}
out.print(path); */
/* String path="images/";
String webPath=this.getServletContext().getRealPath("/");
File file=su.getFiles().getFile(0);
out.print(webPath+path);
//--自动找web项目的根目录
//--手动找web项目的根目录
Request rqq=su.getRquest();
String name=request.getParameter("iname");
out.print("用户名:"+name); */
//二、多文件上传
Files fs=su.getFiles();
for(int i=0;i<fs.getCount();i++){
File file=fs.getFile(i);
String path="images/";
if(!file.isMissing){
file.setCharset("utf-8");
path+=file.getFileName();
file.saveAs(path,SmartUpload.SAVE_VIRTUAL);
}
out.print(path+"<br/>");
}
%>