diff --git a/OpenSim/Server/Handlers/BakedTextures/XBakes.cs b/OpenSim/Server/Handlers/BakedTextures/XBakes.cs index da9de3cd60..d9c5c000dc 100644 --- a/OpenSim/Server/Handlers/BakedTextures/XBakes.cs +++ b/OpenSim/Server/Handlers/BakedTextures/XBakes.cs @@ -75,7 +75,6 @@ namespace OpenSim.Server.Handlers.BakedTextures try { byte[] content = File.ReadAllBytes(diskFile); - return content; } catch @@ -84,7 +83,7 @@ namespace OpenSim.Server.Handlers.BakedTextures return new byte[0]; } - public void Store(string id, string sdata) + public void Store(string id, byte[] data) { string file = HashToFile(id); string diskFile = Path.Combine(m_FSBase, file); @@ -92,9 +91,6 @@ namespace OpenSim.Server.Handlers.BakedTextures Directory.CreateDirectory(Path.GetDirectoryName(diskFile)); File.Delete(diskFile); - - byte[] data = Encoding.UTF8.GetBytes(sdata); - using (FileStream fs = File.Create(diskFile)) fs.Write(data, 0, data.Length); } diff --git a/OpenSim/Server/Handlers/BakedTextures/XBakesHandler.cs b/OpenSim/Server/Handlers/BakedTextures/XBakesHandler.cs index 6090697a21..37045098ed 100644 --- a/OpenSim/Server/Handlers/BakedTextures/XBakesHandler.cs +++ b/OpenSim/Server/Handlers/BakedTextures/XBakesHandler.cs @@ -115,10 +115,9 @@ namespace OpenSim.Server.Handlers.BakedTextures if (p.Length == 0) return; - - using (StreamReader sr = new StreamReader(httpRequest.InputStream)) - m_BakesService.Store(p[0], sr.ReadToEnd()); + byte[] data = ((MemoryStream)httpRequest.InputStream).ToArray(); httpRequest.InputStream.Dispose(); + m_BakesService.Store(p[0], data); } public string[] SplitParams(string path) diff --git a/OpenSim/Services/Interfaces/IBakedTextureService.cs b/OpenSim/Services/Interfaces/IBakedTextureService.cs index ee4eba3b98..c90c059fc0 100644 --- a/OpenSim/Services/Interfaces/IBakedTextureService.cs +++ b/OpenSim/Services/Interfaces/IBakedTextureService.cs @@ -33,6 +33,6 @@ namespace OpenSim.Services.Interfaces public interface IBakedTextureService { byte[] Get(string id); - void Store(string id, string data); + void Store(string id, byte[] data); } }