Untitled
unknown
plain_text
2 years ago
1.4 kB
9
Indexable
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.Base64;
@JsonSerialize(using = FileSerializerWithContent.class)
public class FileStorage {
private File file;
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
}
public class FileSerializerWithContent extends JsonSerializer<FileStorage> {
@Override
public void serialize(FileStorage fileStorage, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("fileName", fileStorage.getFile().getName());
jsonGenerator.writeStringField("filePath", fileStorage.getFile().getAbsolutePath());
// Read file content into a byte array
byte[] fileContent = Files.readAllBytes(fileStorage.getFile().toPath());
// Encode the file content in base64 and include in JSON
String base64Content = Base64.getEncoder().encodeToString(fileContent);
jsonGenerator.writeStringField("fileContent", base64Content);
jsonGenerator.writeEndObject();
}
}Editor is loading...