我正在寻找一种为org.springframework.core.io.Resource
对象分配/设置文件名的方法。该对象没有执行此操作的功能。在我的情况下,getFileName
方法返回一个null
。
我不想从Resource对象创建一个multipartfile,因为我的Open API规范不接受它。
最佳答案
我做到了这样
//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();
}
};
关于java - 为org.springframework.core.io.Resource对象分配名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60648888/