我正在编写springboot应用程序,并且正在使用ScribeJava库来管理OAuth2.0:
我将此库打包到我的个人代码中,以进一步抽象请求和配置。它运行良好,我尝试了很多对Facebook Graph Api,Google Api等的请求,并且运行良好。
问题在于,现在我正试图从Facebook Graph Api获得用户个人资料图片作为响应,并且获取它没有错误,但是我无法对其进行管理或查看。
//a simple Request object to make a request Url
OAuthRequest request = facebookClient.initRequest("GET", profilePicUrl);
//Handling the response.
Response response = facebookClient.getResponse(request);
现在,如果我想查看包含哪些响应,则只需使用一些方法即可:
System.out.println("Status Code : " + response.getCode());
System.out.println("Headers : " + response.getHeaders());
System.out.println("Message : " + response.getMessage());
System.out.println("Body : " + response.getBody());
这是输出:
Status Code : 200
Headers : {
null=HTTP/1.1 200 OK,
Content-Disposition=attachment,
x-fb-config-version-olb-prod=529,
Vary=Accept-Encoding,
Content-Length=1694,
Content-Type=image/jpeg
}
Message : OK
身体上有很多符号和ASCII字符。
所以最后的问题是:
response.getBody() // [String type]
我有图像的原始内容,我想将其保存为图像,而不必保存在文件中。我只希望能够像管理图像一样管理该图像。我尝试过:
FileOutputStream file = new FileOutputStream(path);
file.write(response.getBody().getBytes());
,但生成的文件不可加载或损坏。我想我缺少一些步骤。
感谢您的耐心等候。
编辑 我发现了问题,该库仅处理gzip文件或String。所以我不得不添加一些附加代码来处理二进制文件。