我创建了一个文件系统抽象,我用相对路径存储文件,例如/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个图像 - 所以这个被称为40次。这首先是慢吗?我注意到生成的URL中有一个特定的模式:
https://[storageAccountName].blob.core.windows.net/[container_name]/[relative_path]
我可以在不使用Azure存储API的情况下安全地生成该网址吗?
答案 0 :(得分:3)
在普通网站上,可能会在一个页面中显示40张图片 - 所以 这个被称为40次。这首先是慢的吗?
完全没有。您上面编写的代码不会对存储进行任何调用。它只是创建一个CloudBlockBlob
对象的实例。如果您使用的是GetBlockBlobReferenceFromServer
方法,那么它将是一个不同的故事,因为该方法会调用存储。
`我注意到生成的URL中有一个特定的模式:
_HTTPS:// [storageAccountName] .blob.core.windows.net / [CONTAINER_NAME] / [RELATIVE_PATH]
我可以在不使用Azure存储API的情况下安全地生成该网址吗?
绝对是的。假设你只使用标准的东西,那将是非常好的。非标准内容包括为blob存储使用自定义域或连接到存储帐户的地理位置。