Javascript 是否可以通过存储nestJS sdk上载带有元数据的文件?
我正在使用Azure存储和Nestjs。我正在使用Azure存储来存储一些静态文件。我可以通过Nestjs storage SDK成功上传文件。现在我需要上传一个带有一些自定义blob元数据的文件,我已经阅读了的源代码,但似乎没有预定义的方法来实现这一点。那么,是否可以上载带有自定义元数据的blob呢?或者有什么解决办法Javascript 是否可以通过存储nestJS sdk上载带有元数据的文件?,javascript,azure,azure-storage-blobs,Javascript,Azure,Azure Storage Blobs,我正在使用Azure存储和Nestjs。我正在使用Azure存储来存储一些静态文件。我可以通过Nestjs storage SDK成功上传文件。现在我需要上传一个带有一些自定义blob元数据的文件,我已经阅读了的源代码,但似乎没有预定义的方法来实现这一点。那么,是否可以上载带有自定义元数据的blob呢?或者有什么解决办法 谢谢 我还查看了azureStorageService的源代码,它没有提供有用的方法。但是上传操作用SAS令牌回复storageUrl,我们可以使用它发出另一个HTTP请求:设
谢谢 我还查看了
azureStorageService
的源代码,它没有提供有用的方法。但是上传操作用SAS令牌回复storageUrl,我们可以使用它发出另一个HTTP请求:设置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);
}}
}
结果:
太好了!谢谢@Stanley,它对我有用。我相信我可以基于此URL进行其他操作。