欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年10月10日 14:27:23   作者:hui008  
這篇文章主要介紹了Java中將File轉(zhuǎn)化為MultipartFile的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

話不多說(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包的依賴(lài),如下

jar包依賴(lài):

<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 id="multipartResolver"
 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類(lèi)上面需要加入@RequestParam注解或在Spring的配置文件中加入<mvc:annotation-driven/>的配置

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

如果在我們不加入@RequestParam注解且沒(méi)有加入<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用于打開(kāi)注解驅(qū)動(dòng)。這樣我們?cè)谧鑫募蟼鲿r(shí),就不需要在每個(gè)上傳的文件對(duì)象上加入@RequestParam的注解了。

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

相關(guān)文章

  • Java語(yǔ)法基礎(chǔ)之函數(shù)的使用說(shuō)明

    Java語(yǔ)法基礎(chǔ)之函數(shù)的使用說(shuō)明

    函數(shù)就是定義在類(lèi)中的具有特定功能的一段小程序,函數(shù)也稱(chēng)為方法
    2013-07-07
  • java計(jì)算代碼段執(zhí)行時(shí)間的詳細(xì)代碼

    java計(jì)算代碼段執(zhí)行時(shí)間的詳細(xì)代碼

    java里計(jì)算代碼段執(zhí)行時(shí)間可以有兩種方法,一種是毫秒級(jí)別的計(jì)算,另一種是更精確的納秒級(jí)別的計(jì)算,這篇文章主要介紹了java計(jì)算代碼段執(zhí)行時(shí)間,需要的朋友可以參考下
    2022-08-08
  • spring打包到j(luò)ar包的問(wèn)題解決

    spring打包到j(luò)ar包的問(wèn)題解決

    這篇文章主要給大家介紹了關(guān)于spring打包到j(luò)ar包遇到的問(wèn)題的解決方法,文中通過(guò)實(shí)例代碼結(jié)束的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用spring打包具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • SpringSecurity框架下實(shí)現(xiàn)CSRF跨站攻擊防御的方法

    SpringSecurity框架下實(shí)現(xiàn)CSRF跨站攻擊防御的方法

    CSRF是一種網(wǎng)絡(luò)攻擊方式,也可以說(shuō)是一種安全漏洞,這種安全漏洞在web開(kāi)發(fā)中廣泛存在。這篇文章主要介紹了SpringSecurity框架下實(shí)現(xiàn)CSRF跨站攻擊防御,需要的朋友可以參考下
    2019-12-12
  • Java報(bào)錯(cuò):java.util.concurrent.ExecutionException的解決辦法

    Java報(bào)錯(cuò):java.util.concurrent.ExecutionException的解決辦法

    在Java并發(fā)編程中,我們經(jīng)常使用java.util.concurrent包提供的工具來(lái)管理和協(xié)調(diào)多個(gè)線程的執(zhí)行,va并發(fā)編程中,然而,在使用這些工具時(shí),可能會(huì)遇到各種各樣的異常,其中之一就是java.util.concurrent.ExecutionException,本文將詳細(xì)分析這種異常的背景、可能的原因
    2024-09-09
  • Java中通過(guò)ZipOutputStream類(lèi)如何將多個(gè)文件打成zip

    Java中通過(guò)ZipOutputStream類(lèi)如何將多個(gè)文件打成zip

    ZipOutputStream?是Java中用于創(chuàng)建ZIP文件的類(lèi),它是?java.util.zip?包中的一部分,通過(guò)使用?ZipOutputStream?,可以將多個(gè)文件壓縮到一個(gè)ZIP文件中,這篇文章主要介紹了Java中(ZipOutputStream)如何將多個(gè)文件打成zip,需要的朋友可以參考下
    2023-09-09
  • SpringMVC上傳圖片與訪問(wèn)

    SpringMVC上傳圖片與訪問(wèn)

    這篇文章主要介紹了SpringMVC上傳圖片與訪問(wèn)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Java 生成隨機(jī)單據(jù)號(hào)的實(shí)現(xiàn)示例

    Java 生成隨機(jī)單據(jù)號(hào)的實(shí)現(xiàn)示例

    本文主要介紹了Java 生成隨機(jī)單據(jù)號(hào)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • springboot使用kafka事務(wù)的示例代碼

    springboot使用kafka事務(wù)的示例代碼

    Kafka?同數(shù)據(jù)庫(kù)一樣支持事務(wù),當(dāng)發(fā)生異常的時(shí)候可以進(jìn)行回滾,確保消息監(jiān)聽(tīng)器不會(huì)接收到一些錯(cuò)誤的或者不需要的消息,本文就來(lái)介紹一下springboot使用kafka事務(wù)的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • Java實(shí)戰(zhàn)項(xiàng)目練習(xí)之球館在線預(yù)約系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)項(xiàng)目練習(xí)之球館在線預(yù)約系統(tǒng)的實(shí)現(xiàn)

    理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SpringBoot+maven+freemark+Mysql實(shí)現(xiàn)一個(gè)球館在線預(yù)約系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2022-01-01

最新評(píng)論