网站内容编辑器(风景园林硕士考研Web文件上传与下载)
优采云 发布时间: 2022-04-12 16:26网站内容编辑器(风景园林硕士考研Web文件上传与下载)
一.网页文件上传下载
① 概述
将本地文件上传到服务器和从服务器下载文件到本地的过程。比如目前网站需要上传头像、上传下载图片或者网盘等功能都是通过文件上传下载功能实现的。
② 原则
(1) 文件上传
1.1 客户端浏览器通过文件浏览框选择要上传的文件内容(包括文件路径和文件内容)。
1.2 客户端浏览器通过点击上传按钮将本地文件上传到服务器。
1.3 服务器端通过程序接收本地文件内容,保存在服务器端磁盘中。
(2) 文件下载
1.1 客户端浏览器通过点击下载按钮将保存在服务器上的文件下载到本地磁盘。
1.2 服务器通过程序将来自服务器的文件响应给客户端。
③ 实施方法
(1) 智能上传组件
(2) Apache CommonsFileUpload 组件
(3) Servlet 3.0 文件上传
④ SmartUpload 组件的使用
(1) 核心类
1.1 智能上传
① 概述
该类完成上传和下载工作。
② 上传文件的使用方法
公共最终无效初始化(javax.servlet.jsp.PageContext pageContext)
(1)必须先进行上传和下载的初始化。
(2)pageContext是JSP页面内置对象(page context)
公共无效上传()
(1)上传文件数据。对于上传操作,第一步是执行initialize方法,第二步是执行这个方法。
公共 int 保存(字符串 destPathName)
(1)将所有上传的文件保存到指定目录,并返回保存文件的个数。
公共 int 保存(字符串 destPathName,int 选项)
// 将所有上传的文件保存到指定目录,并返回保存文件的个数。
// 选项:
// SAVE_PHYSICAL 指示组件将文件保存到以操作系统根目录为文件根目录的目录
// AVE_VIRTUAL 指示组件将文件保存到以 Web 应用程序根为文件根的目录
// SAVE_AUTO 表示由组件自动选择
公共文件 getFiles()
// 获取所有上传的文件,并以 Files 对象的形式返回。可以使用Files类的操作方法获取上传文件个数等信息
公共请求 getRequest()
// 获取Request对象,这样就可以从这个对象中获取上传表单参数的值了。
公共无效 setAllowedFilesList(字符串 allowedFilesList)
// 设置为允许上传具有指定扩展名的文件。当上传过程中文件名不允许时,组件会抛出异常
公共无效 setDeniedFilesList(字符串拒绝文件列表)
// 用于限制上传具有指定扩展名的文件。如果文件扩展名被限制,组件在上传时会抛出异常。
公共无效 setMaxFileSize(long maxFileSize)
// 设置每个要上传的文件的最大长度。
公共无效 setTotalMaxFileSize(long totalMaxFileSize)
// 设置允许上传的文件总长度,限制一次上传的数据量。
③ 下载文件的常用方法
公共无效 setContentDisposition(字符串内容分配)
** 将数据附加到 MIME 文件头的 CONTENT-DISPOSITION 字段。jspSmartUpload 组件在返回下载信息时会自动填写 MIME 文件头的 CONTENT-DISPOSITION 字段。如果用户需要添加附加信息,请使用此方法。
下载文件 下载文件
① public void downloadFile(String sourceFilePathName)
// 其中,sourceFilePathName为要下载的文件名(带目录的完整文件名)
② public void downloadFile(String sourceFilePathName,String contentType)
// 其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,浏览器可识别)。
③ public void downloadFile(String sourceFilePathName,String contentType,String destFileName)
// 其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,浏览器可识别),destFileName是下载后的默认文件名。
1.2 个文件
① 概述
该类表示所有上传文件的集合,通过它可以获取上传文件的数量和大小等信息。
② 常用方法
公共 int getCount()
// 获取上传文件的数量。
公共文件获取文件(整数索引)。其中,index为指定位移,其值在0到getCount()-1之间。
// 获取指定位移处的文件对象File(这里是com.jspsmart.upload.File,不是java.io.File,注意区分)。
公共长 getSize()
// 获取上传文件的总长度,可以用来限制一次上传的数据量。
公共集合 get采集()
// 以采集的形式返回所有上传的文件对象,以便其他应用可以参考和浏览上传的文件信息。
公共枚举 getEnumeration()
// 以Enumeration的形式返回所有上传的文件对象,方便其他应用浏览上传的文件信息。
1.3 文件
① 概述
此类包装有关上传文件的所有信息。通过它可以获取上传文件的文件名、文件大小、扩展名、文件数据等信息。
② 常用方法
public void saveAs(java.lang.String destFilePathName) 或 public void saveAs(java.lang.String destFilePathName, int optionSaveAs)
// destFilePathName 是保存文件的名称
// 选项另存为
// SAVEAS_PHYSICAL 表示文件保存为操作系统的根目录作为文件的根目录
// SAVEAS_VIRTUAL 表示web应用的根目录为文件根目录,保存文件为
// SAVEAS_AUTO 表示让组件决定,当web应用的根目录下有保存文件的目录时,选择SAVEAS_VIRTUAL,否则选择SAVEAS_PHYSICAL
公共布尔 isMissing()
// 该方法用于判断用户是否选择了文件,即对应的表单项是否有值。当一个文件被选中时,它返回 false。未选择文件时返回 true。
公共字符串 getFieldName()
// 获取该上传文件对应的HTML表单中的表单项名称。
公共字符串 getFileName()
// 获取文件名(不含目录信息)
公共字符串 getFilePathName
// 获取文件全名(带目录)
公共字符串 getFileExt()
// 获取文件扩展名(后缀)
公共 int getSize()
// 获取文件长度(以字节为单位)
公共字节 getBinaryData(int index)。其中,index代表位移,其值在0到getSize()-1之间。
// 在文件数据中指定位移处取一个字节,进行文件检测等处理。
1.4 请求
① 概述
该类的功能相当于JSP内置对象请求。之所以提供这个类,是因为对于文件上传表单,表单项的值不能通过request对象获取,必须通过jspSmartUpload组件提供的Request对象获取。
② 常用方法
公共字符串 getParameter(字符串名称)。其中 name 是参数的名称。
// 获取指定参数的值。当参数不存在时,返回值为null。
公共字符串 [] getParameterValues(字符串名称)。其中 name 是参数的名称。
// 当一个参数可以有多个值时,使用该方法获取它的值。它返回一个字符串数组。当参数不存在时,返回值为null。
公共枚举 getParameterNames()
// 获取Request对象中所有参数的名称,遍历所有参数。它返回一个枚举对象
(2) 注释
1.1 表单请求方式必须是POST
1.2 设置enctype="multipart/form-data",专用于文件传输
1.3 文件标签需要设置name属性
⑤ 文件上传案例
⑥ 如何获取表单的其他输入项?
姓名:
取名
String sname = request.getParameter("sname");
out.print(sname);
----sname 未加载
【解决方案】
请求请求 = su.getRequest();
String sname = req.getParameter("sname");
out.print(uname);
二.富文本编辑器
① 概述
Rich Text Editor,富文本编辑器,简称RTE,是一种可以嵌入浏览器的所见即所得的文本编辑器,类似于Microsoft Word的编辑功能。
② 常用的富文本编辑器
(1) ckeditor
(2) Kindeditor
(3) 编辑器
(4) wangEditor
(5) 智能标记
(6) 控件.编辑器
(7) 编辑区
(8) 免费的富文本编辑器
③ 如何使用CKeditor
(1)【步骤一】官网下载-解压-导入
(2)[步骤 2]
———————————————
版权声明:本文为CSDN博主“t276tangqiqi”的原创文章,遵循CC4.0 BY-SA版权协议。转载请附上原文出处链接和本声明。
原文链接: