色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java中將File轉(zhuǎn)化為MultipartFile的操作

瀏覽:7日期:2022-08-23 08:14:42

話不多說(shuō)直接上代碼,簡(jiǎn)單明了

import java.io.File;import java.io.FileInputStream;import org.springframework.web.multipart.MultipartFile;import org.springframework.mock.web.MockMultipartFile;import org.apache.http.entity.ContentType; File pdfFile = new File('D://test.pdf');FileInputStream fileInputStream = new FileInputStream(pdfFile);MultipartFile multipartFile = new MockMultipartFile(pdfFile.getName(), pdfFile.getName(), ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);

不少網(wǎng)友反饋說(shuō)要下jar包的依賴,如下

jar包依賴:

<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.9</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.1.6.RELEASE</version></dependency>

補(bǔ)充知識(shí):SPRING MVC文件上傳功能關(guān)于不能實(shí)例化MultipartFile對(duì)象原因分析

實(shí)現(xiàn)文件上傳有幾個(gè)需要注意的地方

1、文件上傳的HTML,需要在form中加入enctype='multipart/form-data'

2、在Spring的配置文件中需要指定org.springframework.web.multipart.commons.CommonsMultipartResolver。

<bean class='org.springframework.web.multipart.commons.CommonsMultipartResolver'> <property name='defaultEncoding' value='UTF-8' /> <!-- 指定所上傳文件的總大小,單位字節(jié)。注意maxUploadSize屬性的限制不是針對(duì)單個(gè)文件,而是所有文件的容量之和 --> <property name='maxUploadSize' value='10240000' /> </bean>

3、在我們執(zhí)行文件上傳方法的Controller類上面需要加入@RequestParam注解或在Spring的配置文件中加入<mvc:annotation-driven/>的配置

@RequestMapping('upload.do') public String upload(@RequestParam MultipartFile file) {<mvc:annotation-driven/>

如果在我們不加入@RequestParam注解且沒有加入<mvc:annotation-driven/>注解的情況下,在執(zhí)行文件上傳時(shí)會(huì)報(bào)如下異常:

javax.servlet.ServletException: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.multipart.MultipartFile]: Specified class is an interface at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:531) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678) at java.lang.Thread.run(Thread.java:745)

注:個(gè)人比較建議在配置文件中加入annotation-driven用于打開注解驅(qū)動(dòng)。這樣我們?cè)谧鑫募蟼鲿r(shí),就不需要在每個(gè)上傳的文件對(duì)象上加入@RequestParam的注解了。

以上這篇Java中將File轉(zhuǎn)化為MultipartFile的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 自拍偷在线精品自拍偷无码专区 | 日本韩国欧美在线观看 | 兔费看全黄三级 | 二区中文字幕 | 欧美另类 videos黑人极品 | 日韩美三级| 国产精品人伦久久 | 日本加勒比网站 | 中文字幕精品一区二区2021年 | 露脸国产野战最新在线视频 | 亚洲成人天堂 | 久久成人精品免费播放 | 国产日韩久久久精品影院首页 | 999成人网| 日韩在线看片中文字幕不卡 | 亚洲美女在线观看亚洲美女 | 亚洲欧美18v中文字幕高清 | 国产高清视频免费最新在线 | 久久综合久久综合九色 | 国产一级视频在线观看 | 日本三级欧美三级人妇英文 | 国内精品久久国产大陆 | 精品一区二区三区免费视频 | 亚洲精品区在线播放一区二区 | 在线不卡国产 | 成人9久久国产精品品 | 美女张开腿让男人桶爽免费网站 | 九九干| 一区精品麻豆经典 | 成人精品一区二区三区中文字幕 | 亚洲天堂成人在线观看 | 亚欧成人毛片一区二区三区四区 | 欧洲freexxxx性 | 一级特黄特黄的大片免费 | 男人操美女网站 | 亚洲韩精品欧美一区二区三区 | 国产免费一区二区三区在线 | 久草在| 一级做a爰全过程免费视频毛片 | 69视频在线观看xxxxx | 人人99 |