1

У меня есть приложение, которое загружает изображения в blob в лазури. Моя проблема в том, что мне нужно конвертировать изображения в Jpeg перед загрузкой. мое решение, похоже, сработало, но ничего не получилось. Azure показывает имя blob, но отображается размер 0B.MVC конвертирует изображения перед загрузкой

var pic = System.Drawing.Image.FromStream(Request.Files[file].InputStream); 
using(MemoryStream ms = new MemoryStream()){ 
    pic.Save(ms, ImageFormat.Jpeg); 
    // Retrieve reference to a blob named "myblob". 
    CloudBlockBlob blockBlob = container.GetBlockBlobReference(label + ".jpeg"); 
    blockBlob.UploadFromStream(ms); 
} 

Любые идеи, что не так с этим кодом?

+0

перемотать MemoryStream перед загрузкой. –

ответ

4

После записи в поток вам обычно нужно переместить позицию до 0, прежде чем вы сможете ее прочитать.

Попробуйте добавить ms.Position = 0; перед вызовом UploadFromStream

+0

Спасибо. Я бы никогда не попытался сбросить позицию потока. – ScarletMerlin

Смежные вопросы