/// <summary>A GET request that returns a bitmap image for XVWeb.</summary> public static Bitmap GetBitmap(ApteryxImage img, IProgressHandler progressWindow) { string token = GetAuthorizationToken(); //reuse old token or get a new one. UriBuilder uriBuilder = GetApiUri(); uriBuilder.Path += "bitmap/" + img.Id; Stream responseStream = GetRequestHelperStream(token, uriBuilder, accept: GetMimeTypeForImageQuality()); int bytesRead; Bitmap image; long totalBytesRead = 0; byte[] buffer = new byte[10 * 1024]; using (MemoryStream ms = new MemoryStream()) { try { while ((bytesRead = responseStream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; if (totalBytesRead != img.FileSize) { progressWindow.UpdateBytesRead(totalBytesRead); } ms.Write(buffer, 0, bytesRead); } progressWindow.CloseProgress(); } catch (Exception ex) { progressWindow.DisplayError(ex.Message); } image = new Bitmap(ms); } responseStream.Close(); return(image); }