none
ASP.NET MVC2 中 读取数据库图片并使用Response.BinaryWrite输出到HTML页面出现的问题 RRS feed

  • 问题

  • Response.ContentType = "Image/bmp";
    Response.BinaryWrite((byte[])read["图片"]); //read["图片"]从数据库读取

     

    当执行的时间就会报错:

    当使用自定义 TextWriter 时,OutputStream 不可用。

    行 17:         Response.BinaryWrite((byte[])read["图片"]);
    
    

    请问这个怎么回事啊? 特别提醒下。这是ASP.NET MVC 中的问题。 也就是说 <img src="/Image?id=1" />  img标签的url改这样写对吧??


    http://tell5.net
    2010年5月21日 19:48

答案

  • 你好,

    src写的有问题吧?

    正式点应该是下面这种写法:

    <img src="/ControllerName/actionName/id" /> 
    

    或者

    <img src="/ControllerName/actionName?id=1" /> 
    

     另外你可以参考下面的代码:

     public ActionResult Index()
        {
          string path=Server.MapPath("~/Content/")+@"\sheshou.jpg";
          
           FileStream fs=new FileStream(path,FileMode.Open);
          return File(fs, "Image/jpeg");
          
        }
    <img src="/ImageDemo/Index" />
    <img src="/ImageDemo" />

    按照上面这样就可以显示图片了。上面src中因为是使用Index输出,默认的如果没有指定action,那就执行每个controller下面的Index。

    所以上面两个都可以。另外你也可以通过下面这种方式实现。

     return File(byte[] content,"contentType");

    Microsoft Online Community Support
    2010年5月24日 3:56