English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事では、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(メールを送信する際、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認がとりたいとすれば、このサイトは直ちに侵害疑いのコンテンツを削除します。