sql >> Database >  >> RDS >> Mysql

afbeeldingen uploaden naar server in de lente MVC en referentie opslaan in mysql-database

Opslaan op schijf en opslaan in MySQL heeft zijn kanttekeningen. Hier is daar een goede discussie over.

Om het in het bestandssysteem op te slaan, kunt u Commons File Upload gebruiken . Hier is een voorbeeld

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>

Controller

@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.
 }  
}

En definieer dit in uw toepassingscontext

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

Ik hoop dat dit helpt.




  1. Hoe maak ik een MySQL-verbindingspool terwijl ik met NodeJS en Express werk?

  2. Welke methoden kunnen worden gebruikt om verschillende versies van reeds bestaande databases te beheren?

  3. Deadlocks in MySQL en PostgreSQL begrijpen

  4. Maak een nieuwe gebruiker in MySQL en geef deze volledige toegang tot één database