答案 0 :(得分:6)
您的字符串包含base64数据,而不是UTF8字符,因此您需要使用Convert.FromBase64String
。此外,Content-Length
应该是二进制数据的长度,而不是字符串的长度。
public FileStreamResult GetPersonImage(int pid)
{
string src = so.GetPersonImage(pid);
byte[] imageBytes = Convert.FromBase64String(src);
MemoryStream ms = new MemoryStream(imageBytes);
Response.Clear();
Response.Expires = 0;
Response.AddHeader("Content-Length", imageBytes.Length.ToString());
Response.BufferOutput = false;
return new FileStreamResult(ms, "image/png");
}