Javascript Azure存储:在Azure存储上上载映像获得成功,但正在创建文件夹而不是映像
我用它在azure存储上上传blob(图像)。 这是在azure存储上成功上载图像,但如果我们查看azure帐户,则会使用所选图像名称而不是实际图像创建一个文件夹Javascript Azure存储:在Azure存储上上载映像获得成功,但正在创建文件夹而不是映像,javascript,angular,azure,azure-storage-blobs,angular8,Javascript,Angular,Azure,Azure Storage Blobs,Angular8,我用它在azure存储上上传blob(图像)。 这是在azure存储上成功上载图像,但如果我们查看azure帐户,则会使用所选图像名称而不是实际图像创建一个文件夹 upload() { if (this.currentFile !== null) { const baseUrl = this.blob.generateBlobUrl( this.Config, this.currentFile.name );
upload() {
if (this.currentFile !== null) {
const baseUrl = this.blob.generateBlobUrl(
this.Config,
this.currentFile.name
);
console.log(baseUrl);
this.config = {
baseUrl: baseUrl,
sasToken: this.Config.sas,
blockSize:
this.currentFile.size > 1024 * 1024 * 32
? 1024 * 1024 * 4
: 1024 * 512, // OPTIONAL, default value is 1024 * 32
file: this.currentFile,
complete: () => {
console.log("Transfer completed !");
},
error: err => {
console.log("Error:", err);
},
progress: percent => {
console.log("Transfer completed =", percent);
// this.percent = percent;
}
};
console.log(this.config);
this.blob.upload(this.config);
}
}
这是负责上传图像的上传功能。请让我知道这里出了什么问题。
我用的是角8
这是NPM源代码的最新版本
以下是我的配置objct,包含SAS令牌详细信息:
Config:UploadParams={
sas:
"https://demo.blob.core.windows.net/?sv=2019-02-02&ss=bfqt&srt=sco&sp=rwdlacup&se=2020-04-13T22:29:27Z&st=2020-04-13T14:29:27Z&spr=https,http&sig=PBJ62e8SU5%2FAF5NPMUN5NVZANB5UBVXQHJ17U1BGE%3D“,
storageAccount:“演示”,
containerName:“演示图像”
}
我认为问题出在blob的名字上。假设您在其中一条注释中正确复制了blob名称,则其显示为:
https://demo.blob.core.windows.net/demo-images/download.jpghttps:/
如果您注意到,blob名称中有一个尾随斜杠(/
),因此门户用户界面(或其他任何Storage Explorer用户界面)会将其视为一个虚拟文件夹,因此您会将其视为一个文件夹
请再次检查代码,特别是如何设置blob的名称。它应该是https://demo.blob.core.windows.net/demo-images/download.jpg
更新
正如我所怀疑的,config对象中的sas
参数存在问题。您正在传递SAS URL而不是SAS令牌。请将您的sas
参数更改为类似以下内容:
?sv=2019-02-02&ss=bfqt&srt=sco&sp=rwdlacup&se=2020-04-13T22:29:27Z&st=2020-04-13T14:29:27Z&spr=https,http&sig=PBJ62e8SU5%2FAef5Npmun5nvzZanb5UbVXqhJ17U1bGE%3D
baseUrl
的值是多少?SAS令牌具有哪些权限?blob存储中没有文件夹。那么,这可能只是因为它确实是你的文件-只是缺少扩展名?这应该是你没有给出blob的全名。嗨,有任何更新吗?你的意思是你上传文件成功,但它是0kb。