【发布时间】:2015-08-27 08:11:44
【问题描述】:
我正在使用以下代码将 MemoryStream 从位图图像上传到我的 Microsoft azure 存储帐户:
MemoryStream memoryStream = new MemoryStream();
img.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);
blob.Properties.ContentType = model.File.ContentType;
blob.UploadFromStream(memoryStream);
使用上面的代码会发生什么,它将一个空图像上传到 Azure 存储:(!(我找到了名称,但文件大小为零!)!
if (model.File != null && model.File.ContentLength > 0)
{
Bitmap original = null;
var name = "newimagefile";
var errorField = string.Empty;
errorField = "File";
name = Path.GetFileNameWithoutExtension(model.File.FileName);
original = Bitmap.FromStream(model.File.InputStream) as Bitmap;
if (original != null)
{
var img = CreateImage(original, model.X, model.Y, model.Width, model.Height);
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("company"); // must always be lowercase
container.CreateIfNotExists();
container.SetPermissions(
new BlobContainerPermissions
{
PublicAccess =
BlobContainerPublicAccessType.Blob
});
CloudBlockBlob blob = container.GetBlockBlobReference(imgName + ".png");
MemoryStream memoryStream = new MemoryStream();
img.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);
blob.Properties.ContentType = model.File.ContentType;
blob.UploadFromStream(memoryStream);
}
请帮忙!
【问题讨论】:
标签: asp.net-mvc azure cloud