当我上传到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'
}
});
答案 0 :(得分:2)
文档错了。
对于4.4.0版,要设置的正确属性为:blobProperties
// 'uuid', 'filename', or a function which may be promissory
blobProperties: {
name: "uuid"
},
答案 1 :(得分:1)
我知道这是一个老问题,但我遇到了同样的问题。你需要通过一个Promise才能让它发挥作用:
name: function (id) {
return new Promise(function (resolve) {
resolve("The String You Want to Pass");
});
}
答案 2 :(得分:0)
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;
}
}