在不连接Azure的情况下获取blob Uri

在不连接Azure的情况下获取blob Uri,azure,Azure,我已经创建了一个文件系统抽象,在这里我使用相对路径存储文件,例如/uploads/images/img1.jpg 然后可以将它们保存在本地文件系统(相对于文件夹)或Azure上。然后,我还可以请求一个方法为我提供访问该相对路径的url 在Azure中,目前正在执行与以下类似的操作: public string GetWebPathForRelativePathOnUserContentStorage(string relativeFileFullPath) {

我已经创建了一个文件系统抽象,在这里我使用相对路径存储文件,例如
/uploads/images/img1.jpg

然后可以将它们保存在本地文件系统(相对于文件夹)或Azure上。然后,我还可以请求一个方法为我提供访问该相对路径的url

在Azure中,目前正在执行与以下类似的操作:

    public string GetWebPathForRelativePathOnUserContentStorage(string relativeFileFullPath)
    {

        var container = getCloudBlobContainer();
        CloudBlockBlob blob = container.GetBlockBlobReference(relativeFileFullPath);

        return blob.Uri.ToString();
    }
在一个普通的网站上,一个页面上可能有40张图片——所以这个get被称为40次。这首先是慢的吗?我注意到在生成的URL中有一种特殊的模式:

https://[storageAccountName].blob.core.windows.net/[container\u name]/[relative\u path]

我是否可以在不使用Azure存储API的情况下安全地生成该URL

在一个普通的网站上,一个页面上可能会有40张图片,所以 这个电话叫了40次。这首先慢吗

一点也不。上面编写的代码不调用存储。它只是创建了
CloudBlockBlob
对象的一个实例。如果您使用的是
GetBlockBlobReferenceFromServer
方法,则情况会有所不同,因为该方法调用存储

`我注意到在生成的URL中有一种特殊的模式:

_https://[storageAccountName].blob.core.windows.net/[container\u name]/[relative\u path]

我是否可以在不使用Azure存储API的情况下安全地生成该URL

绝对是的。假设你只使用标准的东西,那就很好了。非标准内容包括为blob存储使用自定义域或连接到存储帐户的地理辅助位置

在一个普通的网站上,一个页面上可能会有40张图片,所以 这个电话叫了40次。这首先慢吗

一点也不。上面编写的代码不调用存储。它只是创建了
CloudBlockBlob
对象的一个实例。如果您使用的是
GetBlockBlobReferenceFromServer
方法,则情况会有所不同,因为该方法调用存储

`我注意到在生成的URL中有一种特殊的模式:

_https://[storageAccountName].blob.core.windows.net/[container\u name]/[relative\u path]

我是否可以在不使用Azure存储API的情况下安全地生成该URL

绝对是的。假设你只使用标准的东西,那就很好了。非标准内容包括为blob存储使用自定义域或连接到存储帐户的地理辅助位置

在一个普通的网站上,一个页面上可能会有40张图片,所以 这个电话叫了40次。这首先慢吗

一点也不。上面编写的代码不调用存储。它只是创建了
CloudBlockBlob
对象的一个实例。如果您使用的是
GetBlockBlobReferenceFromServer
方法,则情况会有所不同,因为该方法调用存储

`我注意到在生成的URL中有一种特殊的模式:

_https://[storageAccountName].blob.core.windows.net/[container\u name]/[relative\u path]

我是否可以在不使用Azure存储API的情况下安全地生成该URL

绝对是的。假设你只使用标准的东西,那就很好了。非标准内容包括为blob存储使用自定义域或连接到存储帐户的地理辅助位置

在一个普通的网站上,一个页面上可能会有40张图片,所以 这个电话叫了40次。这首先慢吗

一点也不。上面编写的代码不调用存储。它只是创建了
CloudBlockBlob
对象的一个实例。如果您使用的是
GetBlockBlobReferenceFromServer
方法,则情况会有所不同,因为该方法调用存储

`我注意到在生成的URL中有一种特殊的模式:

_https://[storageAccountName].blob.core.windows.net/[container\u name]/[relative\u path]

我是否可以在不使用Azure存储API的情况下安全地生成该URL


绝对是的。假设你只使用标准的东西,那就很好了。非标准内容包括使用自定义域进行blob存储或连接到存储帐户的地理辅助位置。

是的,但其中一个比另一个快得多吗?我更喜欢使用Azure API,但我觉得速度会很慢。我认为您无法测量两者之间的时间差。其中一个是在循环中创建新对象(CloudBlockBlob类型),另一个是给字符串赋值。因此,请选择:)。我仍然会选择第1种方法,因为这会使您在创建一个不使用.blob.core.windows.net后缀的blob url时不会出现故障。是的,但是一种方法比另一种方法快得多吗?我更喜欢使用Azure API,但我觉得速度会很慢。我认为您无法测量两者之间的时间差。其中一个是在循环中创建新对象(CloudBlockBlob类型),另一个是给字符串赋值。因此,请选择:)。我仍然会选择第1种方法,因为这会使您在创建一个不使用.blob.core.windows.net后缀的blob url时不会出现故障。是的,但是一种方法比另一种方法快得多吗?我更喜欢使用Azure API,但我觉得速度会很慢。我认为您无法测量两者之间的时间差。其中一个是在循环中创建新对象(CloudBlockBlob类型),而另一个只是给它赋值