From da03cf30029bee3046bae1e9f025ba8054f0603e Mon Sep 17 00:00:00 2001 From: RKrom Date: Mon, 8 Oct 2012 20:09:06 +0000 Subject: [PATCH] Fixed uploading issues with PNG, it seems this format can't be written to a network stream (non seekable) git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2127 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4 --- GreenshotPlugin/Core/NetworkHelper.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/GreenshotPlugin/Core/NetworkHelper.cs b/GreenshotPlugin/Core/NetworkHelper.cs index 3757b3cd2..2e9927215 100644 --- a/GreenshotPlugin/Core/NetworkHelper.cs +++ b/GreenshotPlugin/Core/NetworkHelper.cs @@ -416,8 +416,16 @@ namespace GreenshotPlugin.Core { formDataStream.Write(Encoding.UTF8.GetBytes(header), 0, Encoding.UTF8.GetByteCount(header)); - // Write the file data directly to the Stream, rather than serializing it to a string. - ImageOutput.SaveToStream(image, formDataStream, outputSettings); + if (outputSettings.Format == OutputFormat.png) { + // The PNG image formats need to be written to a seekable stream, so we need a intermediate MemoryStream + using (MemoryStream memoryStream = new MemoryStream()) { + ImageOutput.SaveToStream(image, memoryStream, outputSettings); + memoryStream.WriteTo(formDataStream); + } + } else { + ImageOutput.SaveToStream(image, formDataStream, outputSettings); + } + } ///