Springboot carga archivos para escribir en la base de datos
lt;! --thymeleaf--gt;lt;dependenciesgt;
lt;groupIdgt;org.thymeleaflt;/groupIdgt;
lt;artifactIdgt;thymeleaf-spring5lt;/artifactIdgt;lt ;dependencia >lt;dependency>lt;
lt;groupIdgt;org.artifactIdgt;thymeleaf-extras-java8timelt;/artifactIdgt;lt;/dependencygt;lt;! --database-connector-gt;lt;dependencygt;
lt;groupIdgt;mysqllt;/groupIdgt;
lt;artifactIdgt;mysql-connector-javalt;/artifactIdgt;lt; /dependenciagt;lt;! --mybatis-integration-springboot--gt;lt;depende de gt;
lt;groupIdgt;org.mybatis.spring.bootlt;/groupIdgt;
lt;artifactIdgt; mybatis -spring-boot-starterlt;/artifactIdgt;
lt;versiongt;2.1.2lt;/versiongt;lt;/dependencygt;lt;! --druid datasource--gt;lt;dependencygt;
lt;groupIdgt;com.alibabalt;/groupIdgt;
lt;artifactIdgt;druidlt;/artifactIdgt;
lt;versiongt;1.1.2lt;/versiongt;lt;/dependencygt;lt;!22lt;/versiongt;lt;/dependencygt;1234567891011121314151617181920212223242526272829
A la fuente de datos, mybatis y subir archivos
p>primavera:
fuente de datos:
tipo: com.alibaba.druid.pool.DruidDataSource nombre de usuario: root contraseña: shw123zxc URL: jdbc: mysql:/ /localhost :3306/mybatis?useSSL=trueamp; useUnicode=trueamp; caracterEncoding=UTF-8amp; serverTimezone=nombre-clase del controlador UTC: com.mysql.cj.jdbc:
multiparte:
max-request-size: 10 MB #El tamaño total máximo de los archivos cargados
max-file-size: 10 MB #El tamaño máximo de un único archivo cargado max-file-size mybatis:
p>tipo-alias-p
ackage: cn.codewei.pojo mapper-locations: classpath:/mapper/*.xml1234567891011121314
Luego escriba un archivo para cargar HTML. Tenga en cuenta que el atributo ==enctype del formulario debe configurarse en multipart/. formulario-datos= =
lt;! DOCTYPE htmlgt;lt;html lang="es"gt;lt;headgt;
lt;meta charset="UTF-8"gt;
lt;titlegt;Titlelt;/ titlegt;lt;/headgt;lt;bodygt;
lt;h1gt;Carga de archivoslt;/h1gt;
lt;form método="post" enctype="multipart/form - datos" acción="/upload"gt;
lt; tipo de entrada="archivo" nombre="archivo"gt;
lt; tipo de entrada="enviar" valor= " upload"gt;
lt;/formgt;lt;/bodygt;lt;/htmlgt;1234567891011121314
Luego escribe un Mapper y el Mapper.xml y servicio correspondientes
@Mapper@Repositorypublic interface PhotoMapper {
//Agregar fotos a la base de datos
public int addPhoto(Foto foto);
// Desde Obtener fotos de la base de datos
foto pública getPhotoById(@Param("id") int id);}123456789
lt;?xml version="1.0" encoding="UTF-8 "? gt;lt;!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//ES"
".codewei.mapper.PhotoMapper"gt;
lt; insertar id="addPhoto" parámetroType="photo"gt;
insertar en valores de imagen (#{id}, #{photo}, #{photoo_name} , # {photoo_type}) lt;/insertgt;
lt;select id="getPhotoById" resultType="photo"gt;
selecciona * de la imagen donde id=#{id } lt ;/selectgt;lt;/mappergt;123456789101112
Llamar al controlador
Subir
@Autowiredprivate PhotoService photoService;@Autowiredprivate Foto foto ;@PostMapping("/upload")@ResponseBodypublic Cadena subida
ad(@RequestParam("file") archivo MultipartFile, solicitud HttpServletRequest) arroja IOException {
byte[] bytes = file.getOriginalFilename());
photo.setPhoto_type(". jpg");
photoService.addPhoto(photo);
Devolver "¡Carga exitosa!";}123456789101112131415161718
Sácalo y muéstralo en la página.
@RequestMapping("/getPhoto") cadena pública getImage(respuesta HttpServletResponse) lanza IOException {
Foto foto = photoService.getPhotoById(1);
byte [ ] photo1 = photo.getPhoto();
PhotoService.addPhoto(photo);
return "¡Carga exitosa! getPhoto();
ServletOutputStream os = respuesta .getOutputStream();
os.write(foto1);
os.close();
return "";}123456789
lt;;DOCTYPE htmlgt;lt.html lang="en"gt;lt;headgt;
lt;meta charset="UTF-8"gt;
lt ; titlegt;Titlelt;/titlegt;lt;/headgt;lt;bodygt;
lt;h1gt;Homelt;/h1gt;
lt;img src="/getPhoto" ancho = "200px" altura="200px"gt;lt;/bodygt;lt;/htmlgt;