Azure的BLOB /文件名的上传时名称(Name of Azure blob/filename

2019-10-19 12:14发布

当我上传到蔚蓝的容器中保存的是UUID(GUID)我如何可以更改文件名?

我通过使用签字请求添加的查询字符串“bloburi”创建签字:。

 $("#fine-uploader").fineUploaderAzure({
        autoUpload : true,
        debug: true,
        validation: {
            itemLimit: 10,
            sizeLimit: 209715200 // 200 mb
        },
        resume: {
            enabled: true,
            id: 'ResumeUpload',
            cookiesExpireIn: 7
        },
        extraButtons: {
            folders: true
        },
        deleteFile: {
            enabled: true
        },
        request: {                
            endpoint: 'https://xxx.blob.core.windows.net/'
        },
        cors: {
            //all requests are expected to be cross-domain requests
            expected: true,

            //if you want cookies to be sent along with the request
            sendCredentials: true
        },
        signature: {
            endpoint: '/sig/'
        },
       uploadSuccess: {
           endpoint: '/success'
       }

    });

Answer 1:

该文档是错误的。 对于4.4.0版本的正确属性设置为: blobProperties

// 'uuid', 'filename', or a function which may be promissory
blobProperties: {
    name: "uuid"
},


Answer 2:

我知道这是一个老问题,但我遇到了同样的问题。 你需要通过一个承诺来得到它的工作:

name: function (id) { 
  return new Promise(function (resolve) {   
    resolve("The String You Want to Pass"); 
  }); 
}


Answer 3:

该名选项的默认值是'uuid'将在Azure中的文件名设置为UUID。 你可以将它改为设置为'filename'有文件名下存储的对象,或者提供这将创造一些其他名称的函数。

blobProperties: {
    name: 'filename'
}

从我的经验,生成的文件名最好的方法是保存在一个唯一的ID子文件夹中的文件名。 这保证了您保存原始文件名,不存在命名冲突。

blobProperties: {
    name: function(id) {
        var uuid = this.getUuid(id),
            filename = this.getName(id);

        return uuid + '/' + filename;
    }
}


文章来源: Name of Azure blob/filename when uploading