Mettre en œuvre comme titre de l'article. Les fonctions suivantes seront implémentées cette fois. -Télécharger en spécifiant le chemin de l'image à partir de l'écran de saisie composé d'un formulaire HTML et d'une balise d'entrée -Output le fichier dans le répertoire spécifié via Java
Modifiez les 3 fichiers suivants

Controller
java:com.example.SampleController.java
@RequestMapping(path = "/sample/upload", method = RequestMethod.GET)
String uploadview(Model model) {
  return "sample/upload";
}
@RequestMapping(path = "/sample/upload", method = RequestMethod.POST)
String upload(Model model, UploadForm uploadForm) {
  if (uploadForm.getFile().isEmpty()) {
    return "sample/upload";
  }
  // check upload distination directory.If there was no directory, make
  // func.
  Path path = Paths.get("/Users/demo-kusa/image");
  if (!Files.exists(path)) {
    try {
      Files.createDirectory(path);
    } catch (NoSuchFileException ex) {
      System.err.println(ex);
    } catch (IOException ex) {
      System.err.println(ex);
    }
  }
  int dot = uploadForm.getFile().getOriginalFilename().lastIndexOf(".");
  String extention = "";
  if (dot > 0) {
    extention = uploadForm.getFile().getOriginalFilename().substring(dot).toLowerCase();
  }
  String filename = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS").format(LocalDateTime.now());
  Path uploadfile = Paths
      .get("/Users/demo-kusa/image/" + filename + extention);
  try (OutputStream os = Files.newOutputStream(uploadfile, StandardOpenOption.CREATE)) {
    byte[] bytes = uploadForm.getFile().getBytes();
    os.write(bytes);
  } catch (IOException ex) {
    System.err.println(ex);
  }
  return "redirect:/sample";
}
ActionForm
java:com.example.UploadForm.java
package com.example;
import org.springframework.web.multipart.MultipartFile;
public class UploadForm {
  private MultipartFile file;
  public MultipartFile getFile() {
    return file;
  }
  public void setFile(MultipartFile file) {
    this.file = file;
  }
}
template
src/main/resources/templates/sample/upload.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>top page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h2>Téléchargement d'image</h2>
    <form method="post" enctype="multipart/form-data" action="/sample/upload" >
        <input name="file" type="file" />
        <input type="submit" value="Envoyer"/>
    </form>
</body>
</html>
Cet article a partiellement remplacé la partie dépendante de l'environnement, mais la source est ci-dessous, donc si vous en avez besoin, veuillez. github kaikusakari/spring_crud
Recommended Posts