diff --git a/cloud/model/model-file/src/main/java/com/bgasol/model/file/file/dto/FileCreateDto.java b/cloud/model/model-file/src/main/java/com/bgasol/model/file/file/dto/FileCreateDto.java index 1655f95..c3c1a58 100644 --- a/cloud/model/model-file/src/main/java/com/bgasol/model/file/file/dto/FileCreateDto.java +++ b/cloud/model/model-file/src/main/java/com/bgasol/model/file/file/dto/FileCreateDto.java @@ -4,10 +4,17 @@ import com.bgasol.common.core.base.dto.BaseCreateDto; import com.bgasol.model.file.file.entity.FileEntity; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; -import lombok.*; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; import lombok.experimental.SuperBuilder; +import org.springframework.core.io.ByteArrayResource; import org.springframework.web.multipart.MultipartFile; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + @Setter @Getter @SuperBuilder @@ -22,4 +29,50 @@ public class FileCreateDto extends BaseCreateDto { public FileEntity toEntity() { throw new UnsupportedOperationException("方法未实现"); } + + public FileCreateDto(String fileName, byte[] bytes, String mediaType) { + super(); + this.uploadFile = new MultipartFile() { + @Override + public String getName() { + return fileName; + } + + @Override + public String getOriginalFilename() { + return fileName; + } + + @Override + public String getContentType() { + return mediaType; + } + + @Override + public boolean isEmpty() { + return bytes.length == 0; + } + + @Override + public long getSize() { + return bytes.length; + } + + @Override + public byte[] getBytes() throws IOException { + return bytes; + } + + @Override + public InputStream getInputStream() throws IOException { + return new ByteArrayResource(bytes).getInputStream(); + } + + @Override + public void transferTo(File dest) throws IllegalStateException { + throw new UnsupportedOperationException("Not implemented"); + } + }; + } + }