2011-09-29 4 views
1

Django에서 일하고 있습니다. 내 웹 사이트를 Facebook에 연결하려고합니다. 내가 뭘 원하는Django : 제 3 자 사이트에서 서버의 이미지에 액세스하는 방법 (제한된 즉, 해당 폴더에만 액세스)

1) 어떤이가 할 일은 사용자의 페이스 북 프로필에 데이터를 게시 할 것입니다 post_data

post_data = [('access_token',access_token), ('message', message), ('link', some_link),('picture',internal_server_path_of_image) 

2에게) urllib2.urlopen(graph_url, urllib.urlencode(post_data))

보내기입니다. 하지만 "internal_server_path_of_image"에 액세스 할 수 없습니다. 어쨌든 내 서버의 특정 폴더를 사이트에서 사용할 수있게 할 수 있습니까? 즉, 그 폴더상의 이미지는 외부로부터 액세스 가능해야한다. 예 : 서버 some_server.dreamhost.com/site_name/project/images/photos.png에 site_name/project/images/photos.png 폴더 폴더가 있습니다. 이제 어떻게 든이 이미지에 액세스하고 싶습니다.

질문이 명확합니까? 또는 몇 가지를 추가해야합니까? 도움이 될 것입니다.

+0

을하는 데 도움이? 웹 서버 구성에 문제가 있습니까? 브라우저에서 브라우저를 탐색하면 그것을 볼 수 있습니까? –

+0

@ThomasOrozco 이미지는 서버의 내부 파일입니다. 이 파일을 사용할 수있게하고 싶습니다. – Akamad007

+1

그러면 웹 서버의 설정을 변경해야합니다. 문서 루트에 이미지가 있습니까 (일반적으로/var/www /)? 그렇다면 이미지에 대한 액세스를 허용하도록 구성을 편집해야 할 수도 있습니다. Django의 ImageField는 올바른 URL을 자동으로 얻기위한 메소드를 제공하기 때문에 사용할 수도 있습니다. –

답변

0

나는 해결책이있다. 사람들은 이미지 필드가 우리에게 이미지의 URL을 제공한다고 지적했습니다. 그건 사실 이었어, 내가 지금하고있는 일은 그 URL을 지나가는거야. 그 URL에서 저는 컨트롤러 메소드를 작성했습니다. 이 메서드는 단순히 이미지를 렌더링하고 반환합니다. 이렇게하면 내 서버에서 필요한 이미지를 가져 오기 위해 페이스 북 API에 액세스 할 수 있습니다.

def test(request,name): 
    name = str(name)+".jpg" 
    url = "Users/admin/workspace/bolt/templates/media/images/photos/" 
    full = url+name image_data = open(full, "rb").read() 
    return HttpResponse(image_data, mimetype="image/png") 

희망이 특정 이미지를 "나는 액세스 할 수 없습니다입니다"무엇을 의미합니까 다른

관련 문제