我正试图通过打字稿中的angular-azure-blob-service使用SAS令牌将文件上传到Azure blob存储,我将以下数据传递到服务中存在的上载方法:
对象:
baseUrl: "https://xxxxxxxxx.blob.core.windows.net/containername/xx-image.png"
blockSize: 65536
complete: ƒ ()
error: ƒ (err)
file: File {name: "abc-image.png", lastModified: 1502710846384, lastModifiedDate: Mon Aug 14 2017 17:10:46 GMT+0530 (India Standard Time), webkitRelativePath: "", size: 17605, …}
progress: ƒ (percent)
sasToken: "?sv=2018-03-28&sr=b&sig=3whdfgdfzCeW0FSaZvmNfxh%2FdcUEcpjqmR%2BA%2FRlzHq8%3D&st=2019-04-16T12%3A46%3A47Z&se=2019-04-16T12%3A56%3A47Z&sp=w"
当我传递以上数据时,出现以下错误:
错误:“
AuthenticationFailed
服务器 无法验证请求。确保值 授权标头格式正确,包括 ↵RequestId:85189ba5-c01e-013f-614a-f4a448000000↵时间:2019-04-16T11:53:02.4545120Z签名不匹配。用于签名的字符串原为 w↵2019-04-16T11:46:46Z↵2019-04-16T11:56:46Z↵/ blob / xxxxxx / companylogo /背景滑块。PNG↵↵↵↵2018-03-28↵↵↵↵↵“ 标头:HttpHeaders {normalizedNames:Map(0),lazyUpdate:null, lazyInit:ƒ}消息:“ HTTP失败响应为 https://xxxxxx.blob.core.windows.net/containername/background%20slider.PNG?sv=2018-03-28&sr=b&sig=JhdFAXD7P0QwyjAhClo9Axry%2FSSLp8POIQx4vJ0vxJ0%3D&st=2019-04-16T11%3A46%3A46Z&se=2019-04-16T11%3A56%3A46Z&sp=w&comp=block&blockid=YmxvY2stMDAwMDAw: 403服务器无法验证请求。确保值 授权标头的格式正确,包括签名。” 名称:“ HttpErrorResponse”确定:错误状态:403 statusText:“服务器 无法验证请求。确保值 授权标头的格式正确,包括签名。” 网址: “ https://xxxxxxxxxxx.blob.core.windows.net/containername/background%20slider.PNG?sv=2018-03-28&sr=b&sig=JhdFAXD7P0QwyjAhClo9Axry%2FSSLp8POIQx4vJ0vxJ0%3D&st=2019-04-16T11%3A46%3A46Z&se=2019-04-16T11%3A56%3A46Z&sp=w&comp=block&blockid=YmxvY2stMDAwMDAw” 原始:对象
答案 0 :(得分:0)
您是否愿意使用Azure AD RBAC将Blob上传到Azure存储到您的帐户中?如果您只想上传文件,则此方法比使用SAS令牌要容易得多。有了此功能,您可以使用从Azure AD获取的访问令牌访问存储,而无需组成SAS令牌。有关详细信息,请参阅:https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad