Azure blobs and thumbnails

I have two images clear.jpg and thumbclear.jpg, the second one is a thumbnail I create from the first one with the following code: I am not doing any resize yet

  Bitmap bitmap = new Bitmap(File.InputStream);
  MemoryStream st = new MemoryStream();
  try
  {
     bitmap.Save(st, ImageFormat.Png);
     return st;
  }
  finally
  {
     bitmap.Dispose();
  }

so then I upload both Images to blobs and I get their URIs and copy/paste them to browser. The first one http://127.0.0.1:10000/devstoreaccount1/media/e1a987d1-c731-4e26-9e6c-d7a63b62f661/clear.png is working fine,

but the second one http://127.0.0.1:10000/devstoreaccount1/media/b7ba6428-9db4-4282-8991-7a8198e7126f/thumbclear.png gives me the following error:

The image "http://...thumbclear.png" cannot be displayed, because it contains errors.

So I supose it has something to do with the bitmap to stream. Any help will be appreciated.

**Edit The code I use to save the blob

public static CloudBlob SaveFileToBlob(MemoryStream stream, string blobContainerName, string filename, string extension, string contentType, int fileSize)
        {
            if (stream != null)
            {
                CloudBlobContainer _BlobContainer = SessionHelper.GetBlobContainer(blobContainerName);
                var permissions = new BlobContainerPermissions();
                permissions.PublicAccess = BlobContainerPublicAccessType.Container;
                _BlobContainer.SetPermissions(permissions);

                Guid blobid = Guid.NewGuid();
                var blob = _BlobContainer.GetBlobReference(blobid.ToString() + "/" + filename);
                blob.UploadFromStream(stream);

                blob.Metadata["FileName"] = filename;
                blob.Metadata["Extension"] = extension;
                blob.Metadata["FileSize"] = fileSize.ToString();
                blob.SetMetadata();

                blob.Properties.ContentType = contentType;
                blob.SetProperties();

                return blob;
            }
            else
                return null;
        }

Answers


The solution was to set the stream position to zero before uploading to blob.

stream.Position = 0;
blob.UploadFromStream(stream);

Need Your Help

Why does the setInterval callback execute only once?

javascript callback setinterval

I have this counter I made but I want it to run forever, it's really simple, what am I doing wrong here?