我试图检索onenote页面上的图像列表。 当我获得页面内容,HTML时,图像具有以下形式的来源:
https://www.onenote.com/api/beta/resources/ {ID} / $值
搞过那个网址,我得到以下标题:
{
'cache-control': 'no-cache',
pragma: 'no-cache',
'content-type': 'application/octet-stream',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'x-correlationid': '38283de4-110c-4c17-a371-c950c88025de',
'x-usersessionid': '38283de4-110c-4c17-a371-c950c88025de',
'x-officefe': 'OneNoteServiceFrontEnd_IN_2',
'x-officeversion': '16.0.3429.1562',
'x-officecluster': 'eus-www.onenote.com',
p3p: 'CP="CAO DSP COR ADMa DEV CONi TELi CUR PSA PSD TAI IVDi OUR SAMi BUS DEM NAV STA UNI COM INT PHY ONL FIN PUR"',
'x-content-type-options': 'nosniff',
'request-processing-time': '31.2529 ms',
'content-disposition': 'attachment',
'preference-applied': 'odata.include-annotations=*',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
date: 'Sat, 01 Nov 2014 00:17:25 GMT',
'content-length': '10672'
}
并且该回复的主体是一个很大的二进制文件。
我正在使用Node Js应用程序执行此操作。
有人可以给我一个如何将响应保存到图像文件中的示例,例如png或jpeg吗? 提前致谢
答案 0 :(得分:0)
经过一些额外的研究后,我想出了如何做到这一点。
代码:
downloadFile: function (url, fileName, callback)
{
var options = {
url: url
, encoding: null
, headers: {'Authorization': 'Bearer ' + this.context.accessToken}
};
request.get(options, function (e, httpResponse, body)
{
var buffer = new Buffer(body, 'binary');
fs.writeFile(fileName, buffer, function(err)
{
if(err)
{
console.log(err);
throw err;
}
else
{
callback()
}
});
});
}
这里的重要部分是: