亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中將File轉化為MultipartFile的操作

發布時間:2020-10-11 04:46:04 來源:腳本之家 閱讀:215 作者:hui008 欄目:開發技術

話不多說直接上代碼,簡單明了

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);

不少網友反饋說要下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>

補充知識:SPRING MVC文件上傳功能關于不能實例化MultipartFile對象原因分析

實現文件上傳有幾個需要注意的地方

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" />
 <!-- 指定所上傳文件的總大小,單位字節。注意maxUploadSize屬性的限制不是針對單個文件,而是所有文件的容量之和 -->
 <property name="maxUploadSize" value="10240000" />
 </bean>

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

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

如果在我們不加入@RequestParam注解且沒有加入<mvc:annotation-driven/>注解的情況下,在執行文件上傳時會報如下異常:

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)

注:個人比較建議在配置文件中加入annotation-driven用于打開注解驅動。這樣我們在做文件上傳時,就不需要在每個上傳的文件對象上加入@RequestParam的注解了。

以上這篇Java中將File轉化為MultipartFile的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

萨嘎县| 内江市| 高淳县| 留坝县| 页游| 龙陵县| 南溪县| 永川市| 三门峡市| 常德市| 张家港市| 安吉县| 探索| 来宾市| 新绛县| 太白县| 南安市| 清水县| 太仆寺旗| 盐亭县| 双辽市| 云阳县| 翼城县| 江山市| 岳阳县| 盐亭县| 平利县| 皮山县| 手游| 普陀区| 武平县| 东安县| 和静县| 台北县| 德保县| 谷城县| 民权县| 东宁县| 盘山县| 莎车县| 商水县|