时间:2011-01-06 19:29:23

标签: c# asp.net-mvc asp.net-mvc-2 blob

1 个答案:

答案 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");
}