在Azure Blob存储中上传图像时出现问题

时间:2018-12-28 12:54:53

标签: node.js azure express azure-storage multer

我正在尝试将图像上传到azure blob存储,面临的问题是图像已成功上传,但是azure上图像的名称是由azure本身随机生成的,我想自己命名该图像代码

以下是我正在使用的代码

com.google.firebase:firebase-core:9.0.2

1 个答案:

答案 0 :(得分:1)

根据MantaCodeDevs/multer-azure-storageREADME.md描述,fileName可选属性必须是一个函数,该函数返回自定义文件名作为存储在Azure Blob存储中的Blob名称。

enter image description here

否则,当fileName不是函数时,它将使用下面的默认blobName函数来生成唯一名称,以避免命名冲突。

const blobName = (file) => {
    let name = file.fieldname + '-' + uuid.v4() + path.extname(file.originalname)
    file.blobName = name
    return name
}

因此,我在下面的示例代码中对其进行了测试,它可以将1.png文件作为blob上传到Azure Blob存储中。

var getFileName = function(file) {
    return '1.png'; 
    // or return file.originalname;
    // or return file.name;
}

var upload = multer({
  storage: new MulterAzureStorage({
    azureStorageConnectionString: 'DefaultEndpointsProtocol=https;AccountName=<your account name>;AccountKey=<your account key>;EndpointSuffix=core.windows.net',
    containerName: 'test',
    containerSecurity: 'blob',
    fileName: getFileName
  })
});