我的硬盘上本地存储了大约 110,000 张各种格式(jpg、png 和 gif)和大小(2-40KB)的图像。我需要将它们上传到 Azure Blob 存储。在执行此操作时,我需要设置一些元数据和 blob 的 ContentType,否则它是直接批量上传。
我目前正在使用以下内容来处理一次上传一张图片(并行超过 5-10 个并发任务)。
static void UploadPhoto(Image pic, string filename, ImageFormat format)
{
//convert image to bytes
using(MemoryStream ms = new MemoryStream())
{
pic.Save(ms, format);
ms.Position = 0;
//create the blob, set metadata and properties
var blob = container.GetBlobReference(filename);
blob.Metadata["Filename"] = filename;
blob.Properties.ContentType = MimeHandler.GetContentType(Path.GetExtension(filename));
//upload!
blob.UploadFromStream(ms);
blob.SetMetadata();
blob.SetProperties();
}
}
我想知道是否有另一种技术可以用来处理上传,以使其尽可能快。这个特定项目涉及将大量数据从一个系统导入到另一个系统,并且出于客户原因,它需要尽快完成。