Azure Store 移动图像

Azure Store the image for Mobile

请问如何将镜像存储到Microsoft Azure? 我应该使用 blob 存储还是 SQL? 推荐哪种方法?

嗯,不确定您是要从网站还是手机存储。我会逐条分解问题。

1) 如何将图像存储到Azure? a) 回答:这取决于您使用的工作负载。如果您使用的是 Azure Web App,您可以直接将其存储到文件系统中。假设您使用的是 ASP.NET,这就是您的做法

if (FileUploader.HasFile)
{
    string fileName = Path.GetFileName(FileUploader.PostedFile.FileName);

    FileUploader.PostedFile.SaveAs("~/Images/") + fileName);        
}

然后你可以保存SQL数据库的路径。

b) 如果您计划使用 blob 存储来创建多层应用程序和卸载 IO 进程,那么您可以这样做

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");
using (var fileStream = System.IO.File.OpenRead(@"path\myfile"))
{
    blockBlob.UploadFromStream(fileStream);
}

2) 你应该使用 blob 还是 sql? 您可能希望使用 blob 来存储图像以卸载 IO。如果将它们保存到 sql,您还将面临增加数据库大小的问题。但是,依赖 blob 也会增加你对 Azure 的依赖,因为你无法轻松迁移它们。您应该只使用 SQL 或 NoSQL 将 link 存储到您的图像文件

希望对您有所帮助