Присвоение имени объекту org.springframework.core.io.Resource - PullRequest
0 голосов
/ 12 марта 2020

Я ищу способ присвоения / установки имени файла для объекта org.springframework.core.io.Resource. У объекта нет функции, доступной для этого. Метод getFileName в моем случае возвращает null.

Я не хочу создавать мультифайл из объекта Resource, так как мой Open API spe c не принимает его.

1 Ответ

0 голосов
/ 14 марта 2020

Я добился этого вот так

//Retrieved the object from S3
S3Object s3Object = amazonS3client.getObject(s3Config.getBucket(), key);
S3ObjectInputStream objectInputStream = s3Object.getObjectContent();
String fileName = s3Object.getObjectMetadata().getUserMetaDataOf("fileName");

//create a ByteArrayResource from the input stream and assigned the fileName
ByteArrayResource fileAsResource = new ByteArrayResource(IOUtils.toByteArray(objectInputStream)) {
                    @Override
                    public String getFilename() {
                        return fileName;
                    }

                    @Override
                    public long contentLength() {
                        return s3Object.getObjectMetadata().getContentLength();
                    }
                };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...