【问题标题】:Why are my site's images not recognized by Facebook?为什么 Facebook 无法识别我网站的图片?
【发布时间】:2011-09-02 19:49:51
【问题描述】:

这是其中一个页面的对象调试器:http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.elon.edu%2Fe-net%2FNote.aspx%3Fid%3D954246

请注意图像框是空的,但是当我单击它时,图像在我可以测试的每个浏览器中都可以正常打开。该图像由 asp.net 的 .ashx 处理程序提供,内容类型为“image/jpeg”。任何想法为什么 Facebook 无法识别我的应用程序提供的任何图像?这会导致所有 facebook 帖子都显示没有图像,出于审美原因,我们希望避免这种情况。感谢您的帮助!

【问题讨论】:

    标签: asp.net image facebook


    【解决方案1】:

    查看图片的 HTTP 标头,您会发现您正在向图片发送 404 HTTP 状态。

    telnet www.elon.edu 80
    
    GET /e-net/Image.ashx?w=298&crop=true&id=28213 HTTP/1.1
    HOST: www.elon.edu
    

    .

    HTTP/1.1 404 Not Found
    Cache-Control: public, max-age=31536000
    Content-Length: 14248
    Content-Type: image/jpeg
    X-Powered-By: ASP.NET
    X-AspNet-Version: 2.0.50727
    Date: Fri, 02 Sep 2011 19:55:22 GMT
    

    编辑

    我不知道 404 是否导致错误,但这就是我要开始的地方。

    EDIT2

    根据您的 cmets,我猜您的处理程序中有类似的东西,对吧:

            try
            {
                //Logic here
                //..
                Response.End();
            }catch(Exception ex){
    
            }
    

    如果是这样,您的问题是Response.End(),它实际上抛出了ThreadAbortException,这绝对不是您所期望的。 different 中的 coupleyou 可以做的事情,我会让您阅读并做出自己的选择。

    【讨论】:

    • 我会冒险 404 几乎肯定会导致错误
    • 确实是......只要允许我就会标记为答案。我会深入研究,但可能会有一个后续问题,即为什么会达到我的 context.Response.StatusCode,即使它只是在我的 catch 块内,而且图像似乎没有错误地服务......无论如何,谢谢为我指明正确的方向!
    • @ElonU Webdev,见我上面的 EDIT2
    • A Server.Transfer() 到静态图像文件引发了您正确识别为我的根本问题的 ThreadAbortException。感谢您的帮助。
    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 2014-07-15
    • 2011-05-02
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多