sql >> データベース >  >> RDS >> Mysql

Spring MVCでサーバーに画像をアップロードし、mysqlデータベースに参照を保存する

    ディスクへの保存とMySQLへの保存には注意が必要です。 こちら それについての良い議論です。

    ファイルシステムに保存するには、コモンズファイルのアップロード を使用できます。 。これがサンプルです

    pom.xml

         <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>${release.version}</version>
        </dependency>
    
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${release.version}</version>
        </dependency>
    

    JSP

    <h2>Spring MVC file upload example</h2>
    
    <form method="POST" action="<c:url value='/upload' />"
        enctype="multipart/form-data">
    
    
        Please select a file to upload : <input type="file" name="file" />
        <input type="submit" value="upload" />
    
    </form>
    

    コントローラー

    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    public String handleFormUpload( 
        @RequestParam("file") MultipartFile file) throws IOException{
    if (!file.isEmpty()) {
     BufferedImage src = ImageIO.read(new ByteArrayInputStream(file.getBytes()));
     File destination = new File("File directory with file name") // something like C:/Users/tom/Documents/nameBasedOnSomeId.png
     ImageIO.write(src, "png", destination);
     //Save the id you have used to create the file name in the DB. You can retrieve the image in future with the ID.
     }  
    }
    

    そして、これをアプリケーションコンテキストで定義します

     <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    

    これがお役に立てば幸いです。




    1. mysqli_stmt ::bind_param():型定義文字列の要素の数がバインド変数の数と一致しません

    2. 文字列を整数に型キャスト

    3. 先月の最初と最後の日を取得するための最良の方法は?

    4. R12.2でカットオーバーフェーズが失敗した後にパッチをロールバックする方法