JavaWEB【文件上传与富文本编辑器】

如需温习上一节的内容,请点击下方链接进行跳转:

javaweb之application&javabean封装_云彩123的博客-CSDN博客目录一、application1、概述:2、常用方法:3、经典案例:application实现统计网站访客4、application对象常用的方法5、案例演示二、javabean封装1、概述:2、javabean规则:3、为什么需要使用Javabean?4、javabean的优点:5、javabean分类:6、JavaBeans的使用7、JavaBean简介及设计原则8、 什么是jsp动作9、关于JavaBean的jsp动作10...https://blog.csdn.net/m0_64522859/article/details/124089156


目录

一、web文件上传与下载

1、概述:

2、原理:

3、实现方式:

4、SmartUpload组件使用:

二、富文本编辑器

1、概述:

2、常用的富文本编辑器:

3、CKeditor的使用步骤:


一、web文件上传与下载

1、概述:

将本地文件上传到服务器端,从服务器端下载文件到本地的过程。例如目前网站需要上传头像、上传下载图片或网盘等功能都是利用文件上传下载功能实现的。

(文件上传下载实际上是两步操作,第一是文件上传,就是将本地文件上传到服务器端,实现文件多用户之间的共享,第二是文件下载,就是将服务器端的文件下载到本地磁盘。)

2、原理:

  • 文件上传:

(1)客户端浏览器通过文件浏览框,选择需要上传的文件内容(其中包括文件路径及文件内容)。

(2)客户端浏览器通过点击上传按钮,将本地文件上传到服务器端。

(3)服务器端通过程序接收本地文件内容,并将其保存在服务器端磁盘中。

  • 文件下载:

(1)客户端浏览器通过点击下载按钮,将服务器端保存的文件下载到本地磁盘。

(2)服务器端通过程序将服务器端文件响应给客户端。

3、实现方式:

(1)SmartUpload组件

(2)Apache CommonsFileUpload组件

(3)Servlet 3.0 文件上传

4、SmartUpload组件使用:

  • 核心类:

(1)SmartUpload

Ⅰ、概述:

该类完成上传下载工作。

Ⅱ、上传文件使用的方法:

  • public final void initialize(javax.servlet.jsp.PageContext pageContext) 

    (1)执行上传下载的初始化工作,必须第一个执行。
    (2)pageContext为JSP页面内置对象(页面上下文)

  • public void upload() 

    (1)上传文件数据。对于上传操作,第一步执行initialize方法,第二步就要执行这个方法。

  • public int save(String destPathName) 

    (1)将全部上传文件保存到指定目录下,并返回保存的文件个数。

  • public int save(String destPathName,int option) 

    ** 将全部上传文件保存到指定目录下,并返回保存的文件个数。
    ** option:
        ** SAVE_PHYSICAL指示组件将文件保存到以操作系统根目录为文件根目录的目录下
        ** AVE_VIRTUAL指示组件将文件保存到以Web应用程序根目录为文件根目录的目录下
        ** SAVE_AUTO则表示由组件自动选择

  • public Files getFiles() 

    ** 取全部上传文件,以Files对象形式返回,可以利用Files类的操作方法来获得上传文件的数目等信息

  • public Request getRequest() 

    ** 取得Request对象,以便由此对象获得上传表单参数之值。

  • public void setAllowedFilesList(String allowedFilesList) 

    ** 设定允许上传带有指定扩展名的文件,当上传过程中有文件名不允许时,组件将抛出异常

  • public void setDeniedFilesList(String deniedFilesList) 

    ** 用于限制上传那些带有指定扩展名的文件。若有文件扩展名被限制,则上传时组件将抛出异常。

  • public void setMaxFileSize(long maxFileSize) 

    ** 设定每个文件允许上传的最大长度。

  • public void setTotalMaxFileSize(long totalMaxFileSize) 

    ** 设定允许上传的文件的总长度,用于限制一次性上传的数据量大小。

Ⅲ、下载文件常用的方法

  • public void setContentDisposition(String contentDisposition) 

    ** 将数据追加到MIME文件头的CONTENT-DISPOSITION域。jspSmartUpload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。

  • downloadFile 下载文件

① 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为下载后默认的另存文件名。

(2)Files

Ⅰ、概述:

这个类表示所有上传文件的集合,通过它可以得到上传文件的数目、大小等信息。

Ⅱ、常用方法:

  • public int getCount() 

    ** 取得上传文件的数目。

  • public File getFile(int index)。其中,index为指定位移,其值在0到getCount()-1之间。

    ** 取得指定位移处的文件对象File(这是com.jspsmart.upload.File,不是java.io.File,注意区分)。

  • public long getSize() 

    ** 取得上传文件的总长度,可用于限制一次性上传的数据量大小。

  • public Collection getCollection() 

    ** 将所有上传文件对象以Collection的形式返回,以便其它应用程序引用,浏览上传文件信息。

  • public Enumeration getEnumeration() 

    ** 将所有上传文件对象以Enumeration(枚举)的形式返回,以便其它应用程序浏览上传文件信息。

(3)File

Ⅰ、概述:

这个类包装了一个上传文件的所有信息。通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息。

Ⅱ、常用方法:

  • public void saveAs(java.lang.String destFilePathName) 或public void saveAs(java.lang.String destFilePathName, int optionSaveAs) 

    ** destFilePathName是另存的文件名
    ** optionSaveAs
        *** SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件
        *** SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件
        *** SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL

  • public boolean isMissing() 

    ** 这个方法用于判断用户是否选择了文件,也即对应的表单项是否有值。选择了文件时,它返回false。未选文件时,它返回true。

  • public String getFieldName() 

    ** 取HTML表单中对应于此上传文件的表单项的名字。

  • public String getFileName() 

    ** 取文件名(不含目录信息)

  • public String getFilePathName 

    ** 取文件全名(带目录)

  • public String getFileExt() 

    ** 取文件扩展名(后缀)

  • public int getSize() 

    ** 取文件长度(以字节计)

  • public byte getBinaryData(int index)。其中,index表示位移,其值在0到getSize()-1之间。

    ** 取文件数据中指定位移处的一个字节,用于检测文件等处理。

(4)Request

Ⅰ、概述:

这个类的功能等同于JSP内置的对象request。只所以提供这个类,是因为对于文件上传表单,通过request对象无法获得表单项的值,必须通过jspSmartUpload组件提供的Request对象来获取。

Ⅱ、常用方法:

  • public String[] getParameterValues(String name)。其中,name为参数的名字。

    ** 当一个参数可以有多个值时,用此方法来取其值。它返回的是一个字符串数组。当参数不存在时,返回值为null。

  • public Enumeration getParameterNames() 

    ** 取得Request对象中所有参数的名字,用于遍历所有参数。它返回的是一个枚举型的对象

  • 注意事项:

(1)表单请求方式必须为POST

(2)设置enctype="multipart/form-data",专用于文件传输

(3)文件标签需设置name属性


二、富文本编辑器

1、概述:

富文本编辑器,Rich Text Editor, 简称 RTE, 是一种可内嵌于浏览器,所见即所得的文本编辑器,类似于 Microsoft Word 的编辑功能。

2、常用的富文本编辑器:

①ckeditor

②Kindeditor

③ueditor

④wangEditor

⑤SmartMarkUP

⑥Control.Editor

⑦EditArea

⑧Free Rich Text Editor

3、CKeditor的使用步骤:

【步骤一】官网https://ckeditor.com/ 下载-解压-引入

【步骤二】
    <script type="text/javascript" src = "../ckeditor/ckeditor.js"></script>
    <script type="text/javascript">
        CKEDITOR.replace("ncontent");
    </script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值