Android デバイスからイメージを受信し、パブリック共有フォルダーに保存する 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に置き換えるとエラーが発生します。
画像を原寸大で保存する正しい方法は?