0

나는 C# Facebook SDK를 사용하여 이미지를 사용자의 벽에 게시하고 있습니다. 디스크에 이미지를 저장하는 대신 즉석에서 이미지를 생성하여 Facebook 게시물에 존재하지 않는 이미지에 대한 링크를 제공하고이 이미지에 대한 요청을 생성하는 작업 방법에 전달합니다 이미지를 읽고 FileContentResult를 반환합니다. 코드 : I 브라우저에서 내 페이스 북 웹 애플리케이션의 주소 및 라우팅 값을 입력하면ASP.NET MVC에서 라우팅을 사용하여 즉석에서 작성한 이미지를 Facebook에 업로드하는 방법

Global.asax.cs

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.MapRoute(
     "ImageRoute", 
     "image/{imageName}.png", 
     new { controller = "Facebook", action = "GetImage" }); 
); 

FacebookController.cs

public ActionResult PostAnImageAndMessageToFacebookWall() 
{ 
    var parameters = new Dictionary<String, Object> { { "message", "A message to the Wall" }, 
                { "picture", "http://my_app.com/image/my_image" + ".png")}}; 
    _facebookWebClient.Post("me/feed", parameters); 
    return View(); 
} 
public FileContentResult GetImage(string imageName) 
{ 
    Image myImage = _imageService.CreateImage(imageName); 
    var memStream = new MemoryStream(); 
    myImage.Save(memStream, System.Drawing.Imaging.ImageFormat.Png); 
    return new FileContentResult(memStream.ToArray(), "image/png"); 
} 

이 이미지를 표시합니다 (예 : http://apps.facebook.com/my_app/image/some_image_name.png를) 이미지를 표시합니다. 그러나 벽 게시물은 이미지를 표시하지 않고 메시지 만 표시합니다. 왜이 방법이 효과가 없으며이를 해결할 수있는 방법이 있습니까?

답변

0

http://apps.facebook.com/my_app/GetImage/some_image_name.png으로 갈 때 iFrame에있는 이미지를 감싸는 Facebook HTML이 보입니다. URL을 이미지에 직접 표시하면 훨씬 효과적입니다. 예 : www.example.com/myApp/GetImage/some_image_name.png

+0

위의 URL을 잘못 입력했습니다. Global.asax.cs에 지정된대로 'GetImage'가 아니라 '이미지'여야합니다. 어쨌든 http://apps.facebook.com/my_app/image/some_image_name.png 및 http://my_app.com/image/some_image_name.png 모두 작동합니다. 즉 요청이 내 웹 앱의 GetImage 메소드로 전달됩니다. 날아 다니는 이미지와 그것을 반환합니다. 문제는 사용자의 벽면에 이미지가 표시되지 않는다는 것인데, 페이스 북이 제공된 URL을 사용하여 요청을 만들었지 만 실패한 이유는 무엇인가? – Christian

+0

다시 apps.facebook.com/anything/image에서 요청할 때 응답 스트림을 살펴보십시오. apps.facebook.com/my_app/image/some_image_name.png의 응답은 이미지가 아닙니다. – DMCS

+0

다시 말하면 브라우저의 주소 입력란에 특정 URL을 입력하고 Enter 키를 누르면 이미지가 표시됩니다. 동일한 URL을 사용자의 Facebook 북 벽에 게시 할 때 이미지가 표시되지 않습니다. 왜 안돼? – Christian

관련 문제