我正在将一个名为my-image.jpg的文件上传到我的blob容器中,其端点为Azure上的https://myaccount.blob.core.windows.net/my-container。
之后,它会调用SaS令牌的签名端点并生成对Azure blob的PUT请求。在这里,我观察到PUT请求不包含原始文件名而不是某些GUID替换文件名。
我希望我的原始文件名在PUT请求中,以便文件将以原始名称上传到Blob上。
然后https://myaccount.blob.core.windows.net/my-container/89056c3d-7bb3-my-image.jpg会在我申请SAAS时发送给我的API吗?
我如何实现这一目标?
当我的请求到达我的后端API以获取SAS时,blobUri以/server/upload/some-guid-value.txt的形式出现。我在实例化上传器时使用以下选项。我做错了什么?
const uploader = new qq.azure.FineUploader({
element: document.getElementById('fine-uploader-manual-trigger'),
template: 'qq-template-manual-trigger',
request: {
endpoint: 'https://myaccount.blob.core.windows.net/my-container',
},
signature: {
endpoint: 'http://localhost:4879/api/getsas',
cors:{
expected: true,
sendCredentials: false
},
}
})
答案 0 :(得分:0)
默认情况下,File Uploader azure将使用UUID命名您的对象。在大多数情况下,这是最安全的行为。
如果更改此值,则在发生名称冲突时,您将面临使用新文件覆盖现有文件的风险。
如果必须使用其他名称将blob保存为azure,则可以适当修改blobProperties.name
选项。
值“ filename ”将使用原始文件名保存对象。
有关详情,请参阅此option。