Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将facebook连接个人资料图片保存到自己的服务器_Java_Facebook_Facebook Graph Api - Fatal编程技术网

Java 将facebook连接个人资料图片保存到自己的服务器

Java 将facebook连接个人资料图片保存到自己的服务器,java,facebook,facebook-graph-api,Java,Facebook,Facebook Graph Api,我在一个应用程序中工作,它使用facebook connect获取用户的个人资料图片。但在连接完成后,我仍然必须能够裁剪和调整“大”图像的大小。因此,我想将个人资料图片从facebook服务器下载到我自己的服务器上 到目前为止,我无法将图片下载到我的服务器。以下是我正在做的: facebook个人资料图片在我们的应用程序中通过以下路径从facebook同步 现在我们需要从上面提到的URL本地保存图像 裁剪并显示,但我们无法从提供的URL保存图像 问题: •那么,我们如何使用此路径在服务器中保存f

我在一个应用程序中工作,它使用facebook connect获取用户的个人资料图片。但在连接完成后,我仍然必须能够裁剪和调整“大”图像的大小。因此,我想将个人资料图片从facebook服务器下载到我自己的服务器上

到目前为止,我无法将图片下载到我的服务器。以下是我正在做的:

facebook个人资料图片在我们的应用程序中通过以下路径从facebook同步 现在我们需要从上面提到的URL本地保存图像 裁剪并显示,但我们无法从提供的URL保存图像 问题:

•那么,我们如何使用此路径在服务器中保存facebook个人资料图片? •或者,保存facebook个人资料的其他解决方案是什么?图片在显示之前先保存在我们的服务器中? •如果我们使用保存的图片,我们如何保持与facebook的同步

那么我还有一个问题: 如果用户不想再使用facebook connect,如何删除已建立的facebook connect连接的Cookie? 如果您尝试使用以下代码执行此操作,但没有结果:

    var api_key = "135xxxxxxxxxxx";
    var channel_path = ""+2;
    FB.init(api_key , cookie:false, channel_path, { "ifUserConnected": update_user_box });
    Function update_user_box(){
    Var fbId=FB.Connect.get_loggedInUser();

上面给出的删除假cookie的代码无效。如何解决此问题?

不保存所有个人资料照片,而是将照片显示在对整个图像来说太小的div中。基本上让html进行裁剪

<body>
     <div style="background-image: url(http://scm-l3.technorati.com/11/01/14/25023/facebook-logo.jpg); width: 380px; height: 300px;">
 </div>
</body>
或者,根据我下面的评论,您可以包装一个图像并调整div的大小。这两个选项都可以使用。在极少数情况下,可以避免使用可能不遵循重定向的CSS url

<body>
     <div style="width: 380px; height: 300px; overflow: hidden;">
         <img src="http://scm-l3.technorati.com/11/01/14/25023/facebook-logo.jpg" alt="Facebook" />
 </div>
</body>

不保存所有的个人资料照片,您可以将照片显示在对整个图像来说太小的div中。基本上让html进行裁剪

<body>
     <div style="background-image: url(http://scm-l3.technorati.com/11/01/14/25023/facebook-logo.jpg); width: 380px; height: 300px;">
 </div>
</body>
或者,根据我下面的评论,您可以包装一个图像并调整div的大小。这两个选项都可以使用。在极少数情况下,可以避免使用可能不遵循重定向的CSS url

<body>
     <div style="width: 380px; height: 300px; overflow: hidden;">
         <img src="http://scm-l3.technorati.com/11/01/14/25023/facebook-logo.jpg" alt="Facebook" />
 </div>
</body>

当您尝试下载图像时,请确保您正在下载的任何图像都可以遵循302重定向,因为graph Facebook链接只返回图像重定向,而不是实际图像本身。但是使用CSS裁剪图像会更有意义。

当您尝试下载图像时,请确保下载图像时使用的任何内容都可以遵循302重定向,因为graph Facebook链接只返回图像重定向,而不是实际图像本身。但是用CSS裁剪图像会更有意义。

就像前面所说的,关键是知道它会重定向你。因此,我们自动关闭重定向并从配置文件URL的标题中检索图片的实际URL。下面是我用来下载实际图像文件的一个片段。此处提供了要点:

就像我说的,关键是知道它会引导你。因此,我们自动关闭重定向并从配置文件URL的标题中检索图片的实际URL。下面是我用来下载实际图像文件的一个片段。此处提供了要点:


您可能应该将您的问题拆分为单独的问题,但正如您所做的那样,将返回一个图像URL,您可以将其保存到您的服务器,因此您需要确保您遵循重定向或阅读位置标题,了解如何获取实际图像的URI

至于您关于如何确保始终使用最新图片的问题,您应该使用订阅用户对象的/picture连接,我们将在您的应用程序的任何用户更新其图片时ping您的回调,以便您可以获取最新图片。这样,您就不必继续轮询以查看用户是否更改了图片


如果您能够在不将图片缓存到自己的服务器上的情况下使用CSS实现您的目标,请查看。

您可能应该将您的问题拆分为单独的问题,但是,将返回一个图像URL,您可以将该URL保存到服务器,因此您需要确保遵循重定向或读取位置标题,了解如何获取实际图像的URI

至于您关于如何确保始终使用最新图片的问题,您应该使用订阅用户对象的/picture连接,我们将在您的应用程序的任何用户更新其图片时ping您的回调,以便您可以获取最新图片。这样,您就不必继续轮询以查看用户是否更改了图片


如果您能够在不缓存自己服务器上的pic的情况下使用CSS实现您的目标,请查看。

我在自己的应用程序中使用了相同的概念,但这不起作用。CSS url可能不遵循重定向。在这种情况下,你可以只包装一个带有div的图像。我将编辑为ad
我在自己的应用程序中使用了相同的概念,但这不起作用。css url可能不遵循重定向。在这种情况下,您可以只使用div包装一个图像。我将进行编辑以添加该选项。我正在java应用程序中使用facebook api。当我使用facebook connect按钮连接时,请建议任何其他解决方案。它将重新访问facebook登录页面。然后在自己的应用程序中同步显示的图像。我希望syn图像应保存在我们自己的服务器中,以便我们可以使用该图像进行裁剪。有什么想法吗?因为我们允许用户使用以下插件裁剪图像,因此需要下载图像,而css裁剪不是一个选项。因此,我仍在尝试下载个人资料图片。还有其他想法吗?您能否详细介绍308 redirects.URL u=新的URLCropImagePath;字符串filePath=request.getParameterCropImagePath;字符串扩展名=filePath.substringfilePath.lastIndexOf。;字符串路径=request.getSessionfalse.getServletContext.getRealPath/;StringBuilder sb=新StringBuilderpath;sb.appendonstants.UPLOAD_FOLDER.append/.appendname;File dir=new Filesb.toString;如果目录存在| |!dir.isDirectory{dir.mkdirs;}如果dir.exists{sb.append/.appendname.appendExtension;请尝试BuffereImage=ImageIO.readu;int-width=image.getWidth/18;int-height=image.getHeight/12;如果宽度>0&&height>0{BufferedImage out=image.getSubimagex1,y1,w,h;ImageIO.writeout,jpg,new files b.toString;我正在java应用程序中使用facebook api。当我连接facebook connect按钮时,请建议任何其他解决方案。它会重新访问facebook登录页面。然后在自己的应用程序中同步显示的图像。我希望syn图像应该保存在我们自己的服务器中o我们可以使用该图像进行裁剪。有什么想法吗?因为我们让用户使用以下插件裁剪图像,所以需要下载图像,css裁剪不是一个选项。因此,我仍在尝试下载配置文件图片。还有其他想法吗?你能详细说明308重定向。URL u=新的URLCropImagePath;String filePath=request.getParameterCropImagePath;String extension=filePath.substringfilePath.lastIndexOf;String path=request.getSessionfalse.getServletContext.getRealPath/;StringBuilder sb=new StringBuilderpath;sb.AppendionStats.UPLOAD_FOLDER.append/.appendname;File dir=new files B.toString;if!dir.exists | | | directory{dir.mkdirs;}如果dir.exists{sb.append/.appendname.appendExtension;尝试buffereImage=ImageIO.readu;int-width=image.getWidth/18;int-height=image.getHeight/12;如果width>0&&height>0{BuffereImage out=image.getSubimagex1,y1,w,h;ImageIO.writeout,jpg,new Filesb.toString;您应该创建一个关于删除cookie的单独问题,因为它与此cookie无关。您应该创建一个关于删除cookie的单独问题,因为它与此cookie无关。