2017-04-12 47 views
0

我想将Azure blob下载到流中,然后将流转换为图像进行大小调整,然后用新名称将新图像上传到Azure blob。现在我可以调整图像大小并上传流,但无法将新名称的流上传到Azure。
这是我的代码:如何使用新名称将流上传到Azure blob

Stream stream = blockBlob.OpenRead(); 

Image newImage;   
Bitmap image = new Bitmap(stream); 
newImage = new Bitmap(image, 20, 20); 

var ms = new MemoryStream(); 
newImage.Save(ms, ImageFormat.Png); 
ms.Position = 0; 

blockBlob.UploadFromStream(ms); 
+0

什么是错误? – VMAtm

回答

0

这其实是非常简单的。你可能需要做的是用新的blob名称创建一个CloudBlockBlob的实例并在那里上传内容。假设你希望将新文件上传到同一个容器中,这是你可以做的:

 Stream stream = blockBlob.OpenRead(); 

     Image newImage; 
     Bitmap image = new Bitmap(stream); 
     newImage = new Bitmap(image, 20, 20); 

     var ms = new MemoryStream(); 
     newImage.Save(ms, ImageFormat.Png); 
     ms.Position = 0; 

     var newBlob = blockBlob.Container.GetBlockBlobReference("new-blob-name.png"); 
     newBlob.UploadFromStream(ms); 
相关问题