Django:如何让第三方网站访问您服务器上的图像。(限制访问,即只访问该文件夹)

时间:2011-09-29 06:14:34

标签: python django url-routing urllib2

我在Django工作。我正在尝试将我的网站连接到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”。无论如何,我可以在我的服务器上为网站提供特定的文件夹吗?即该文件夹上的图像应该可以从外面访问。 例如我有文件夹site_name / project / images / photos.png 在服务器上some_server.dreamhost.com/site_name/project/images/photos.png。现在我想以某种方式访问​​此图像。

问题清楚了吗?还是我需要添加一些东西? 任何帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

我已经找到了解决方案。正如人们指出的那样,图像场给了我们图像的网址。这是真的,我现在正在做的是通过那个网址。在那个网址我写了一个控制器方法。此方法只是渲染图像并返回它。这样可以访问facebook 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")

希望这有助于其他人