文章测试4

Posted ldebug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文章测试4相关的知识,希望对你有一定的参考价值。

文件的上传和下载是项目开发中最常用的功能,例如图片的上传和下载、邮件附件的上传和下载等。

接下来,将对Spring MVC环境中文件的上传和下载进行详细的讲解。

 

 

一.文件上传

多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单,而该表单必须满足以下3个条件:

1)form表单的method属性设置为post

2)form表单的enctype属性设置为multipart/form-data

3)提供<input type=”file” name=”filename” multiple=”multiple” />的文件上传输入框。

文件上传表单的实例代码如下:

<form action="uploadUrl" method="post" enctype="multipart/form-data">
<input type="file" name="filename" multiple="multiple" />
<input type="submit" value="文件上传" />
</form>

Spring MVC为文件上传提供了直接的支持,这种支持是通过MultipartResolver(多部件解析器)对象实现的。MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipartResolver来完成文件上传工作。在Spring MVC中使用MultipartResolver对象非常简单,只需要在配置文件中定义MultipartResolver接口的Bean即可,其具体配置方式如下:

技术分享图片
<bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”>
<!-- 设置请求编码格式,必须与JSP中的pageEncoding属性一致 -->
<property name=”defaultEncoding” value=”UTF-8” />
<!-- 设置允许上传文件的最大值(2MB),单位为字节 -->
<property name=”maxUploadSize” value=”2097152” />
</bean>
技术分享图片

 

通过<property>元素可以对文件解析类CommonsMultipartResolver的如下属性进行配置。

1)maxUploadSize:上传文件最大长度(以字节为单位)

2)maxInMemorySize:缓存中的最大尺寸

3)defaultEncoding:默认编码格式

4)resolverLazily:推迟文件解析,以便在Controller中捕获文件大小异常

注:在配置CommonsMultipartResolver时必须指定该Bean的id为multipartResolver

 

需要导入支持文件上传的相关JAR包,通过Apache官网地址“http://commons.apache.org/”下载(进入该网址后,在Apache Conmmons Proper下方列表的Components列中找到FileUpload和IO,单击链接后,即可在打开页面找到下载链接)具体如下:

1)commons-fileupload-1.3.2.jar

2)commons-io-2.5.jar

 

当完成页面表单和文件上传解析器的配置后,在Controller中编写文件上传的方法即可实现文件上传。文件上传的方法代码如下:

技术分享图片
@Controller
    public class FileUploadController {
        @RequestMapping("fileUpload")
        public String handleFormUpload(@RequestParam("name") String name,@RequestParam("filename") MultipartFile file,...) {
            if(!file.isEmpty()) {
                //具体的执行方法
                ...
                return "uploadSuccess";//跳转到成功页面
            }
            return "uploadFailure";//跳转到失败页面
        }
    }
技术分享图片

 

在上述代码中,包含一个MultipartFile接口类型的参数file,上传到程序中的文件就是被封装在该参数中的。org.springframework.web.multipart.MultipartFile接口中提供了获取上传文件、文件名称等方法,这些方法及说明如下表01所示:

以上是关于文章测试4的主要内容,如果未能解决你的问题,请参考以下文章

安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段

markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章

片段(Java) | 机试题+算法思路+考点+代码解析 2023

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

;~ 小部分AutoHotkey源代码片段测试模板2019年10月9日.ahk

VSCode自定义代码片段4——cli的终端命令大全