目录
ckeditor
SmartUpload
1.SmartUpload组件简介
1.1SmartUpload组件
1.2SmartUpload组件特点
1.3SmartUpload组件应用条件
2.File类
3.Files类及方法
4.SmartUpload类及方法
ckeditor
需要导入一个ckedtior文件将其放入WebContent里面然后找到
导包
在from表单里面找到要放入的位置
例如
Ckedtiord 存放的值要与文本域的name值一致
效果图
SmartUpload
1.SmartUpload组件简介
1.1SmartUpload组件
专门用于实现文件上传及下载的免费组件
1.2SmartUpload组件特点
使用简单:编写少量代码,完成上传下载功能
能够控制上传内容
能够控制上传文件的大小、类型
缺点:目前已停止更新服务
1.3SmartUpload组件应用条件
2.File类
封装了单个上传文件所包含的所有信息
常用方法
方法名称
说 明
saveAs(String destFilePathName)
将文件保存,参数destFilePathName是保存的文件名
isMissing( )
判断用户是否选择了文件,即对应表单项是否为空,返回值为boolean类型
public String getFieldName( )
获取表单中当前上传文件所对应的表单项的名称
public String getFileName( )
获取上传文件的文件名称,不包含路径
3.Files类及方法
封装了所有上传文件的信息集合
常用方法
属性名称
说 明
public int getCount()
取得文件上传的数目
public File getFile(int index)
取得指定位置的File文件对象
public long getSize()
取得上传文件的总长度
public Collection getCollection()
将所有上传文件对象以Collection的形式返回
4.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)
设定允许上传文件的总长度
文件上传的实现
(单文件上传具有有手动&自动找到该文件的根目录)
//1.单文件上传
//实例化
SmartUpload su=new SmartUpload();
//初始化 pageContex是jsp的九大内置对象之一 作用域仅限于当前的jsp页面
su.initialize(pageContext);
//设置相关要求
su.setCharset("utf-8");//编码方式
su.setAllowedFilesList("jpf,png,jpeg,gif");//设置允许上传的文件类型 用逗号隔开
su.setDeniedFilesList("exe,jsp,js,bat");//设置禁止上传的文件类型
su.setMaxFileSize(1024*1024*2);//设置文件的最大大小 不超过2M
//上传到服务器内部
su.upload();
//--自动找web项目的根目录
/*String path="images/";
//获取文件
File file=su.getFiles().getFile(0);
//做判断
if(!file.isMissing()){//判断上传文件了没有
//设置文件的编码方式
file.setCharset("utf-8");
path+=file.getFileName();//拼接是原有的文件名 例如:images/2.gif
file.saveAs(path,SmartUpload.SAVE_VIRTUAL);
}
out.print(path); */
//--手动找web项目的更目录
/* String path="images/";
//D:\S2\javaweb\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Q6\
String webPath=this.getServletContext().getRealPath("/");
out.print(webPath);
//获取文件
File file=su.getFiles().getFile(0);
//做判断
if(!file.isMissing()){//判断上传文件了没有
//设置文件的编码方式
file.setCharset("utf-8");
path+=file.getFileName();//拼接是原有的文件名 例如:images/2.gif
file.saveAs(webPath+path);//手动找web项目的更目录
}
out.print(webPath+path); */
//不管哪种方式只需要把path放数据库对应列即可
/* //拿到表单的其他值 建议放在上传之后
Request req =su.getRequest();
String name=req.getParameter("iname");
out.print("用户名:"+name);
*/
//2.多文件上传
//拿到所有的文件
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();//拼接上原有的文件名 images/2.gif
file.saveAs(path, SmartUpload.SAVE_VIRTUAL);//自动找web项目的根目录
}
out.print(path+"<br/>");
}