Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Azure存储:在Azure存储上上载映像获得成功,但正在创建文件夹而不是映像_Javascript_Angular_Azure_Azure Storage Blobs_Angular8 - Fatal编程技术网

Javascript 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 );

我用它在azure存储上上传blob(图像)。 这是在azure存储上成功上载图像,但如果我们查看azure帐户,则会使用所选图像名称而不是实际图像创建一个文件夹

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。