上载时Azure blob / filename的名称
当我上传到azure容器时,保存的文件名是uuid(guid)我该如何更改?
我使用签名请求中添加的查询字符串“bloburi”创建了signatur。
$("#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' } });
文档是错误的。 对于4.4.0版,要设置的正确属性是: blobProperties
// 'uuid', 'filename', or a function which may be promissory blobProperties: { name: "uuid" },
我知道这是一个老问题,但我遇到了同样的问题。 你需要传递一个Promise才能让它工作:
name: function (id) { return new Promise(function (resolve) { resolve("The String You Want to Pass"); }); }
name选项的默认值是'uuid'
,它将Azure中的文件名设置为uuid。 您可以将其设置为'filename'
以将对象存储在文件名下,或者提供将创建其他名称的函数。
blobProperties: { name: 'filename' }
根据我的经验,生成文件名的最佳方法是将文件名保存在唯一的id子文件夹下。 这可以保证您保存原始文件名,并且没有命名冲突。
blobProperties: { name: function(id) { var uuid = this.getUuid(id), filename = this.getName(id); return uuid + '/' + filename; } }