代码提交
parent
9d04f3dcad
commit
d3bd3f59a2
@ -0,0 +1,75 @@
|
|||||||
|
package com.supervision.chat.client;
|
||||||
|
|
||||||
|
import org.springframework.lang.NonNull;
|
||||||
|
import org.springframework.lang.Nullable;
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
import org.springframework.util.FileCopyUtils;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
public class CustomMultipartFile implements MultipartFile {
|
||||||
|
|
||||||
|
private final String name;
|
||||||
|
private final String originalFilename;
|
||||||
|
@Nullable
|
||||||
|
private final String contentType;
|
||||||
|
private final byte[] content;
|
||||||
|
|
||||||
|
public CustomMultipartFile(String name, @Nullable byte[] content) {
|
||||||
|
this(name, name, (String)null, (byte[])content);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CustomMultipartFile(String name, InputStream contentStream) throws IOException {
|
||||||
|
this(name, name, (String)null, (byte[]) FileCopyUtils.copyToByteArray(contentStream));
|
||||||
|
}
|
||||||
|
|
||||||
|
public CustomMultipartFile(String name, @Nullable String originalFilename, @Nullable String contentType, @Nullable byte[] content) {
|
||||||
|
Assert.hasLength(name, "Name must not be empty");
|
||||||
|
this.name = name;
|
||||||
|
this.originalFilename = originalFilename != null ? originalFilename : "";
|
||||||
|
this.contentType = contentType;
|
||||||
|
this.content = content != null ? content : new byte[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
public CustomMultipartFile(String name, @Nullable String originalFilename, @Nullable String contentType, InputStream contentStream) throws IOException {
|
||||||
|
this(name, originalFilename, contentType, FileCopyUtils.copyToByteArray(contentStream));
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return this.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public String getOriginalFilename() {
|
||||||
|
return this.originalFilename;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public String getContentType() {
|
||||||
|
return this.contentType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEmpty() {
|
||||||
|
return this.content.length == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getSize() {
|
||||||
|
return (long)this.content.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getBytes() throws IOException {
|
||||||
|
return this.content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputStream getInputStream() throws IOException {
|
||||||
|
return new ByteArrayInputStream(this.content);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void transferTo(File dest) throws IOException, IllegalStateException {
|
||||||
|
FileCopyUtils.copy(this.content, dest);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.supervision.chat.client.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DeleteFileDTO {
|
||||||
|
|
||||||
|
private String knowledge_base_name;
|
||||||
|
|
||||||
|
private List<String> file_names;
|
||||||
|
|
||||||
|
private Boolean delete_content = false;
|
||||||
|
|
||||||
|
private Boolean not_refresh_vs_cache = false;
|
||||||
|
|
||||||
|
public static DeleteFileDTO create(String knowledge_base_name, String file_name) {
|
||||||
|
DeleteFileDTO deleteFileDTO = new DeleteFileDTO();
|
||||||
|
deleteFileDTO.setKnowledge_base_name(knowledge_base_name);
|
||||||
|
List<String> file_names = new ArrayList<>();
|
||||||
|
file_names.add(file_name);
|
||||||
|
deleteFileDTO.setFile_names(file_names);
|
||||||
|
return deleteFileDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue