我有一个 wcf 休息,它正在从安卓设备接收图像并保存到公共共享文件夹中。
一切正常,但是在将图像文件(实际图像大小为 15kb)保存到我的共享文件夹中时,它保存了 489kb。
任何图像文件都只保存 489kb。我发现了为什么它像这样保存的问题..
这是我的代码..
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest, UriTemplate = "UploadImage")]
public string RecieveImage(Stream ImageStream)
{
try
{
byte[] buffer = new byte[500000];
ImageStream.Read(buffer, 0, 500000);
FileStream f = new FileStream(@"c:\desktop\wcfUploadImage.jpeg", FileMode.OpenOrCreate);
f.Write(buffer, 0, buffer.Length);
f.Close();
f.Dispose();
}
catch (Exception ex)
{
throw new WebFaultException<string>(ex.Message, System.Net.HttpStatusCode.BadRequest);
}
return "Successsfully recieved.";
}
因为只有字节[500000],我才用 489kb 保存图像。如果我将 500000 替换为ImageStream.length ,则会出现错误。
以实际大小保存图像的正确方法是什么?