Ir al contenido

Entity Files

Entity Files permite adjuntar archivos a entidades JPA y almacenar el contenido binario en:

  • disco local (por defecto), o
  • AWS S3 (modulo opcional).

Tambien incluye acciones UI para gestionar archivos desde vistas CRUD.

<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.entityfiles</artifactId>
<version>26.4.0</version>
</dependency>

<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.entityfiles.ui</artifactId>
<version>26.4.0</version>
</dependency>

<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.entityfiles.s3</artifactId>
<version>26.4.0</version>
</dependency>
implementation 'tools.dynamia.modules:tools.dynamia.modules.entityfiles:26.4.0'
implementation 'tools.dynamia.modules:tools.dynamia.modules.entityfiles.ui:26.4.0'
implementation 'tools.dynamia.modules:tools.dynamia.modules.entityfiles.s3:26.4.0'
Ventana de terminal
pnpm add @dynamia-tools/files-sdk @dynamia-tools/sdk
import { DynamiaClient } from '@dynamia-tools/sdk';
import { FilesApi } from '@dynamia-tools/files-sdk';
const client = new DynamiaClient({ baseUrl: import.meta.env.VITE_API_URL, token: '...' });
const files = new FilesApi(client.http);
const archivo = await files.download('factura.pdf', 'uuid-aqui');
const url = files.getUrl('images/logo.png', 'uuid-aqui');
import jakarta.persistence.Entity;
import jakarta.persistence.OneToOne;
import tools.dynamia.modules.entityfile.domain.EntityFile;
@Entity
public class Person {
@OneToOne
private EntityFile photo;
@OneToOne
private EntityFile cover;
}
import java.io.File;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import tools.dynamia.modules.entityfile.UploadFileInfo;
import tools.dynamia.modules.entityfile.service.EntityFileService;
@Component
public class PersonFilesService {
@Autowired
private EntityFileService entityFileService;
public void attachPhoto(File file, Person person) {
var info = new UploadFileInfo(file);
var photo = entityFileService.createEntityFile(info, person);
person.setPhoto(photo);
}
}