Django: Как разрешить сторонним сайтам доступ к изображениям на вашем сервере (ограниченный доступ, т.е. только к этой папке) - PullRequest
1 голос
/ 29 сентября 2011

Я работаю в Джанго. Я пытаюсь подключить свой сайт к Facebook.Что я хочу сделать, это

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))

Что нужно сделать, это опубликовать эти данные в профиле Facebookпользователь.Но я не могу получить доступ к "internal_server_path_of_image".В каком случае я могу сделать определенную папку на своем сервере доступной для сайта?т.е. изображения в этой папке должны быть доступны извне.Например, у меня есть папка имя_сайта / project / images / photos.png на сервере some_server.dreamhost.com/site_name/project/images/photos.png.Теперь я хочу получить доступ к этому изображению как-то.

Вопрос понятен?или мне нужно добавить несколько вещей?Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 08 октября 2011

Я пришел с решением. Как люди указали, что поле изображения дает нам URL изображения. Это было правдой, то, что я делаю сейчас, передаю этот URL. На этом URL я написал метод контроллера. Этот метод просто отображает изображение и возвращает его. Это дает доступ к API Facebook, чтобы получить необходимое изображение с моего сервера.

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")

Надеюсь, что это помогает другим

...