《CKEditor富文本编辑器》
进入documentation文档
下载需要的版本
引入CKEditor类库
《SmartUpload组件简介》
1.使用第三方上传插件:smartUpload
2.明确:
a.数据库表中的列中存的是文件路径;
图片也要传到服务器上(将本地文件传到服务器项目中,然后将路径存入表字段中)3.步骤:
第一:在项目中导入jspsmartupload.jar文件包
第二:在<form>表单中添加表单属性:enctype="multipart/form-data"
第三:了解file类与smartupload类中的方法
1.专门用于实现文件上传及下载的免费组件
2.SmartUpload组件特点
使用简单:编写少量代码,完成上传下载功能
能够控制上传内容
能够控制上传文件的大小、类型
缺点:目前已停止更新服务
3.SmartUpload组件应用条件
(1)环境准备
使用SmartUpload组件需要在项目中引入jspsmartupload.jar文件
步骤:
首先将jspsmartupload.jar 添加到WEB-INF\lib目录下
其次需要设置表单的enctype属性
例如:
<form enctype="multipart/form-data" method="post">
提示:设置了enctype属性后, 表单必须以post方式提交
《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)
设定允许上传文件的总长度
《File类及方法》
File类
封装了单个上传文件所包含的所有信息
常用方法
方法名称
说 明
saveAs(String destFilePathName)
将文件保存,参数destFilePathName是保存的文件名
isMissing( )
判断用户是否选择了文件,即对应表单项是否为空,返回值为boolean类型
public String getFieldName( )
获取表单中当前上传文件所对应的表单项的名称
public String getFileName( )
获取上传文件的文件名称,不包含路径
三,《Files类及方法》
Files类
封装了所有上传文件的信息集合
常用方法
属性名称
说 明
public int getCount()
取得文件上传的数目
public File getFile(int index)
取得指定位置的File文件对象
public long getSize()
取得上传文件的总长度
public Collection getCollection()
将所有上传文件对象以Collection的形式返回
《文件上传的实现》
编写上传文件处理页uploadManage.jsp
<代码演示>
//导入包
<%@ page import="com.jspsmart.upload."%>
//创建smartupload对象
<%
smartUpload su = new SmartUpload();
//上传初始化
su.initialize(pageContext);
try{
su.upload();//上传文件
}exception(Exception ex){
ex.printStackTrace();
}
//获取单个上传文件
com.jspsmart.upload.file file = su.getFiles().getFile(0);
//设置文件在服务器的保存位置
String filepath = "upload\\";
filepath += file.getFileName();
//文件另存为
file.saveAs(filepath, SmartUpload.SAVE_VIRTUAL);
使用SmartUpload组件可以对上传文件的类型进行限制
setAllowedFilesList():允许上传的文件类型
setDeniedFilesList():禁止上传的文件类型
<代码演示>
提示:多个文件类型之间用逗号隔开
SmartUpload su = new SmartUpload(); //初始化SmartUpload对象 su.initialize(pageContext); try { //定义允许上传文件类型 su.setAllowedFilesList("gif,jpg,doc"); //不允许上传文件类型 su.setDeniedFilesList("jsp,asp,php,aspx,html,htm,exe,bat"); //执行上传 su.upload(); }catch(Exception e)
<如图所示>
《控制上传文件的大小》
使用SmartUpload组件可以对上传文件的大小进行限制
setMaxFileSize():允许上传的单个文件大小
setTotalMaxFileSize():允许上传的文件总容量
<代码演示>
//定义允许上传文件类型 su.setAllowedFilesList("gif,jpg,doc"); //不允许上传文件类型 su.setDeniedFilesList("jsp,asp,php,aspx,html,htm,exe,bat") ; //单个文件最大限制 su.setMaxFileSize(20000);//设置容量 //所有上传文件的总容量限制 su.setTotalMaxFileSize(500000);
《获取表单数据》
SmartUpload 获取表单数据
getRequest():得到com.jspsmart.upload.Request对象
常用方法
《代码演示》
<form method="post" enctype="multipart/form-data" action="control.jsp"> 上传文件:<input type="file" name="nfile"><br/> 文件描述:<input type="text" name="explanation"><br/> <input type="submit" value="上传"> </form> //获取Request对象 com.jspsmart.upload.Request surequest = su.getRequest(); //获取表单提交数据 String explanation = surequest.getParameter("explanation"); out.println(explanation) ;
《如图》以二进制的方式提交标表单