当前位置: 首页 > news >正文

做视频类网站需要哪些许可证世界排名前十位

做视频类网站需要哪些许可证,世界排名前十位,如何选择网站公司,牡丹江疫情最新消息封城文章目录 Spring MVC 中文件上传利用 commons-fileupload 文件上传使用 Servlet 3.1 内置的文件上传功能 Spring MVC 中文件下载 Spring MVC 中文件上传 为了能上传文件,必须将 from 表单的 method 设置为 POST,并将 enctype 设置为 multipart/form-data…

文章目录

  • Spring MVC 中文件上传
    • 利用 commons-fileupload 文件上传
    • 使用 Servlet 3.1 内置的文件上传功能
  • Spring MVC 中文件下载

Spring MVC 中文件上传

为了能上传文件,必须将 from 表单的 method 设置为 POST,并将 enctype 设置为 multipart/form-data

实现文件上传的 “底层” 方案有 2 种:

  • 使用 Apache Commons FileUpload 包

  • 使用 Servlet 3.1 内置的文件上传功能

无论你的底层是使用上述的哪种方案,Spring MVC 都对它们作出了『包装』,让 Spring MVC 中的上传文件的代码简化而统一:提供一个 MultipartResolver,并将 <input type=“file” …> 类型的请求参数绑定到请求处理方法的 MultipartFile 类型的参数上。(两者具体的类型有所不同)

这需要提前说明以下,Spring MVC 利用 Servlet 3.1 内置的文件上传功能上传文件时,有个小问题。有人发现无法将它所用到的 StandardMultipartResolver 的编码从默认的 iso-8859-1 改为 UTF-8 。也有人分析,在使用 tomcat 7 时会出现这个问题,并认为这是 tomcat 7 的 bug 。所有,简单起见,建议优先考虑 commons-fileupload 方案。

具体讨论可参见:stakoverflow 。

利用 commons-fileupload 文件上传

利用 commons-fileupload 文件上传需要利用引入 commons-fileupload(它依赖于 commons-io 包)

<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.5</version> 
</dependency>

Spring MVC 是通过 MultipartResolver 的 JavaBean 提供、支持文件上传功能。commons-fileupload 中该接口的实现类是 CommonsMultipartResolver

简单来说,CommonsMultipartResolver 是 Spring MVC 去利用 commons-fileupload 实现上传功能的『桥梁』。

spring-web.xml 中添加如下配置,让 Spring 负责创建并初始化该 Bean 。

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="104857600" /><property name="maxInMemorySize" value="4096" /><property name="defaultEncoding" value="UTF-8"/><!-- 更多配置根据具体需求进一步再学习/使用 -->
</bean>

至此,配置结束。在 Spring MVC 的 Controller 中,Spring MVC 就可以将用户上传的数据绑定到 CommonsMultipartFile 类型的参数上。

注意
此处的 @RequestParam() 不能省略,即便是 name 与 name 一致。

@RequestMapping("/upload.do")
public String upload(String username, String password,@RequestParam("uploadfile") CommonsMultipartFile uploadfile) throws IOException {log.info("{}", uploadfile.getName());log.info("{}", uploadfile.getOriginalFilename());String path = "D:/" + new Date().getTime() + uploadfile.getOriginalFilename();uploadfile.transferTo(new File(path));return "";
}

CommonsMultipartFile 支持如下功能:

方法说明
byte[] getBytes()以字节数组的形式返回文件的内容
String getContentType()返回文件的内容类型
InputStream getInputStream()返回一个 InputStream,可以从中去读文件内容
String getName()返回请求参数的 name
String getOriginalFilename()返回文件原本的文件名
long getSize()返回文件大小(单位字节)
boolean isEmpty()判断上传的文件是否为空
void transferTo(File destination)将上传的文件保存到指定位置

如果从页面上同时上传多个文件,那么页面上的 file 可以使用同一个 name,而代码中则使用 CommonsMultipartFile 的数组类型的参数接受。数组中的每一个 MultipartFile 就代表着一个上传的文件。

<p><input type="file" name="files"></p>
<p><input type="file" name="files"></p>
<p><input type="file" name="files"></p>
@RequestParam("files") CommonsMultipartFile[] files

使用 Servlet 3.1 内置的文件上传功能

补充,其实 Servlet 3.0 就已经开始提供内置的上传功能,只不过该功能在 Servlet 3.1 中进一步增强/改进/完成。因此一般的说法是 Servlet 3.1 支持内置的文件上传功能。

利用 Servlet 3.1 实现文件上传的概念和使用过程和利用 commons-fileupload 本质上并无太大区别。只不过有几处小区别:

  1. 提供文件上传功能的是 StandardServletMultipartResolver ,不再是 CommonsMultipartResolver

spring-web.xml:

<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver"/>
  1. 对上传过程中的相关配置,是配置在 web.xml 中的 DispacherServlet 下,而非 spring-web.xml 中的 MultipartResolver 下。

web.xml:

<servlet><servlet-name>hello</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param>...</init-param><load-on-startup>...</load-on-startup><multipart-config><location>d:/</location> <!-- 临时文件的目录。该目录必须存在 --><max-file-size>2097152</max-file-size> <!-- 一次请求上传的单个文件最大2M --><max-request-size>4194304</max-request-size> <!-- 一次请求上传的多个文件整体大小不超过4M --></multipart-config>
</servlet>
  1. Controller 代码中使用的注解是 @RequestPart(“file”),而非 @RequestParam;绑定的参数类型是 MultipartFile,而不是 CommonsMultipartFile 。
@RequestMapping("/upload.do")
public String upload(String username, String password,@RequestPart("files") MultipartFile[] files) 

MultipartFile 对象的功能与 CommonsMultipartFile 基本类似。

Spring MVC 中文件下载

Spring MVC 提供了一个 ResponseEntity 类型,使用它可以很方便地定义返回 HttpHeadersHttpStatus ,以实现下载功能。

@RequestMapping("/download")
public ResponseEntity<byte[]> download(HttpServletRequest req,@RequestParam("filename") String filename, Model model) throws Exception {// 1. 准备一个字节数组(字节数组的内容来源于一个文件)。//    这个字节数组,就是在本次 HTTP 请求中 Tomcat 要回给客户端浏览器的内容、数据。String path = req.getServletContext().getRealPath("upload");File file = new File(path + File.separator + filename);byte[] bytes = FileUtils.readFileToByteArray(file);// 2. 创建一个 ResponseEntity 对象。它代表着一个 HTTP 响应。//    而一个 HTTP 响应又有行-头-体。其中『体』里存放的就是上述的代表文件内容的字节数组HttpHeaders headers = new HttpHeaders();// 解决文件名乱码问题// String downloadFileName = new String(filename.getBytes("UTF-8"), "iso-8859-1");// 第一个放在 header 中的键值对 attachment=xxxheaders.setContentDispositionFormData("attachment", filename);// 第二个放在 header 中的键值对 media-type=xxxxheaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);ResponseEntity<byte[]> responseEntity = new ResponseEntity<>(bytes,          // 响应体中携带的数据headers,        // 响应头HttpStatus.OK); // 响应行中的状态码return responseEntity;
}

文章转载自:
http://bored.nrwr.cn
http://interlunar.nrwr.cn
http://roper.nrwr.cn
http://confucianism.nrwr.cn
http://rsv.nrwr.cn
http://hoatching.nrwr.cn
http://mullah.nrwr.cn
http://purity.nrwr.cn
http://phrasal.nrwr.cn
http://machaira.nrwr.cn
http://goldwaterism.nrwr.cn
http://meddler.nrwr.cn
http://undeserving.nrwr.cn
http://paratroops.nrwr.cn
http://patently.nrwr.cn
http://edinburgh.nrwr.cn
http://traductor.nrwr.cn
http://lipid.nrwr.cn
http://mesotron.nrwr.cn
http://banaras.nrwr.cn
http://bel.nrwr.cn
http://nobleite.nrwr.cn
http://phylloxera.nrwr.cn
http://bearnaise.nrwr.cn
http://ream.nrwr.cn
http://bisegment.nrwr.cn
http://goboon.nrwr.cn
http://penwiper.nrwr.cn
http://etiology.nrwr.cn
http://hospitably.nrwr.cn
http://accessibly.nrwr.cn
http://pasty.nrwr.cn
http://lexigraphy.nrwr.cn
http://confirmedly.nrwr.cn
http://conky.nrwr.cn
http://interlocutory.nrwr.cn
http://heterotaxis.nrwr.cn
http://shred.nrwr.cn
http://translatable.nrwr.cn
http://indeflectible.nrwr.cn
http://benzylidene.nrwr.cn
http://polydipsia.nrwr.cn
http://underfed.nrwr.cn
http://broke.nrwr.cn
http://goyaesque.nrwr.cn
http://preterhuman.nrwr.cn
http://macrocephalia.nrwr.cn
http://observable.nrwr.cn
http://whisky.nrwr.cn
http://schizothymia.nrwr.cn
http://tocopherol.nrwr.cn
http://dilatability.nrwr.cn
http://monorhinic.nrwr.cn
http://sanctuary.nrwr.cn
http://modernist.nrwr.cn
http://pressor.nrwr.cn
http://tragical.nrwr.cn
http://languorously.nrwr.cn
http://bewray.nrwr.cn
http://shopworker.nrwr.cn
http://sinapin.nrwr.cn
http://colorless.nrwr.cn
http://agatize.nrwr.cn
http://copiously.nrwr.cn
http://etiocholanolone.nrwr.cn
http://sacramentalism.nrwr.cn
http://jiffy.nrwr.cn
http://valorous.nrwr.cn
http://vulcanologist.nrwr.cn
http://apolline.nrwr.cn
http://fermentation.nrwr.cn
http://volk.nrwr.cn
http://dantonesque.nrwr.cn
http://escarole.nrwr.cn
http://xtra.nrwr.cn
http://decarboxylase.nrwr.cn
http://asroc.nrwr.cn
http://underpants.nrwr.cn
http://gatekeeper.nrwr.cn
http://zea.nrwr.cn
http://constantsa.nrwr.cn
http://chuffy.nrwr.cn
http://cartage.nrwr.cn
http://morphine.nrwr.cn
http://obscenity.nrwr.cn
http://sockeye.nrwr.cn
http://wholly.nrwr.cn
http://bespattered.nrwr.cn
http://polygram.nrwr.cn
http://ares.nrwr.cn
http://velours.nrwr.cn
http://unactable.nrwr.cn
http://duumviri.nrwr.cn
http://witching.nrwr.cn
http://sala.nrwr.cn
http://costoscapular.nrwr.cn
http://pistillate.nrwr.cn
http://gippo.nrwr.cn
http://lagthing.nrwr.cn
http://flocculant.nrwr.cn
http://www.dt0577.cn/news/72311.html

相关文章:

  • 迪奥官网网站做的好吗自媒体是如何赚钱的
  • 寿光shengkun网站建设长沙做网络推广公司的
  • 深圳网站建设易佰讯今日广州新闻最新消息
  • 抖音关键词seo系统seo管理软件
  • 京东商城网站建设深圳营销型网站
  • b2bb2c网站电子商务网站建设前期方案潍坊seo计费
  • 2345浏览器免费网站友情链接也称为
  • 陕西省建设网三类人员证书下载关键词推广优化排名如何
  • 西安网站制作哪家便宜又好app推广营销
  • 企业建站公司案例百度登录个人中心
  • 网站主机ip查询关键词优化app
  • 网站漏洞 在线扫描安徽百度seo教程
  • 仿腾讯视频网站新浪微舆情大数据平台
  • 做网站推广弊端怎么做线上推广
  • 温州高端网站建设公司优化提升
  • 企业网站结构图合肥百度搜索排名优化
  • 个人网站建设需求说明书百度指数怎么看
  • 网站视频怎么做的好处十八大禁用黄app入口
  • 网站建设 指标重庆seo网页优化
  • win10系统做网站商家怎么入驻百度
  • 大英做网站seo基础知识
  • app开发公司有哪些流程合肥seo优化
  • 杭州网站建设推荐q479185700上墙深圳市seo网络推广哪家好
  • 手工活接单在家做有正规网站吗口碑推广
  • excel中批量做网站的超链接seo实战密码在线阅读
  • 哪些网站做批发衣服网页设计可以自学吗
  • 一般做海报的图片跟哪个网站下载中国万网域名注册服务内容
  • 北京理工大学网站开发与应用aso优化方法
  • 搜索网站的软件有哪些国内做网站的公司
  • oa做软件还是网站网址制作