English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

spring mvcでファイルのアップロードおよびダウンロード機能を実現する

この記事では、spring mvcでファイルのアップロードおよびダウンロード機能を実現する具体的なコードを共有し、参考にしてください。具体的な内容は以下の通りです

ファイルアップロード

pom.xmlにspring mvcおよびcommonsをインポートします-fileuploadの関連jar

  <!-- spring mvc -->
  dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>4.3.13.RELEASE</version>
  </dependency>
  <!-- ファイルアップロードとダウンロード -->
  dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <version>1.3.3</version>
  </dependency>

springmvc.xmlにファイルアップロードの関連設定を追加します

 <bean id="multipartResolver" 
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
  <!-- アップロードファイルのサイズ上限は、バイト単位です(10MB) -->
  <property name="maxUploadSize"> 
   <value>10485760</value> 
  </property> 
  <!-- リクエストのエンコード形式は、jSPのpageEncoding属性と一致する必要があります。フォームの内容を正しく読み取るために、デフォルトではISOです-8859-1 -->
  <property name="defaultEncoding">
   <value>UTF-8</value>
  </property>
 </bean>

jspファイルにformフォームを追加します

<form action="upload" enctype="multipart/form-data" method="post">
 <table>
  <tr>
   <td>ファイル説明:</td>
   <td><input type="text" name="description"></td>
  </tr>
  <tr>
   <td>ファイルを選択してください:</td>
   <td><input type="file" name="file"></td>
  </tr>
  <tr>
   <td><input type="submit" value="アップロード"></td>
  </tr>
 </table>
</form>

ファイルアップロードメソッドを追加します

//アップロードファイルは自動的にMultipartFileにバインドされます
@RequestMapping(value="/upload",method=RequestMethod.POST)
public String upload(HttpServletRequest request,
  @RequestParam("description") String description,
  @RequestParam("file") MultipartFile file) throws Exception {
 //ファイルが空でない場合、アップロードパスに書き込みます
 if(!file.isEmpty()) {
  //アップロードファイルパス
  String path = request.getServletContext().getRealPath("/file/");
  //アップロードファイル名
  String filename = file.getOriginalFilename();
  File filepath = new File(path,filename);
  //パスが存在するかどうかを確認します。存在しない場合は、新しいディレクトリを作成します
  if (!filepath.getParentFile().exists()) {
   filepath.getParentFile().mkdirs();
  }
  //アップロードされたファイルをターゲットファイルに保存します
  file.transferTo(new File(path + File.separator + filename));
  return "success";
 } else {
  return "error";
 }
}

これでこの記事のすべての内容が終わります。皆様の学習に役立つことを願っています。また、呐喊教程を多くの皆様にサポートしていただけると嬉しいです。

声明:この記事の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーにより自発的に貢献し、自己でアップロードされた内容であり、このサイトは所有権を持ちません。また、人工編集は行われておらず、関連する法的責任も負いません。著作権侵害が疑われる内容がある場合は、以下のメールアドレスまでご連絡ください:notice#oldtoolbag.com(メールを送信する際、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認がとりたいとすれば、このサイトは直ちに侵害疑いのコンテンツを削除します。

おすすめ