如何解决是否可以通过存储 nestJS sdk 上传带有元数据的文件?
我正在使用 Azure 存储和 Nestjs。我正在使用 Azure 存储来存储一些静态文件。我可以通过 Nestjs 存储 SDK 成功上传文件。现在我需要上传一个带有一些自定义 blob 元数据的文件,我已经浏览了 Nestjs storage SDK 的源代码,但似乎没有预定义的方法可以做到这一点。那么是否可以使用自定义元数据上传 Blob?或者有什么解决方法吗?
谢谢!
解决方法
我也查看了 azureStorageService
的源代码,它没有提供有用的方法。但是上传操作使用 SAS 令牌回复 storageUrl,我们可以使用它来发出另一个 HTTP 请求:set-blob-metaData 以设置 blob 元数据。这是我的测试代码,name
是我的测试中的元数据:
@Post('azure/upload')
@UseInterceptors(
AzureStorageFileInterceptor('file',null),)
async UploadedFilesUsingInterceptor(
@UploadedFile()
file: UploadedFileMetadata,) {
file = {
...file,buffer : Buffer.from('file'),originalname: 'somename.txt'
};
const storageUrl = await this.azureStorage.upload(file);
//call rest api to set metadata
await this.httpService.put(storageUrl + "&comp=metadata",null,{headers:{'x-ms-meta-name':'orginal name here'}})
.subscribe((response) => {
console.log(response.status);
});
{
Logger.log(storageUrl);
}}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。