在Node.js中,可以使用axios库来发送API请求并获取响应。以下是一个示例代码,用于发送API请求并将响应中的PDF文件保存到本地:
const axios = require('axios');
const fs = require('fs');
const apiUrl = 'https://example.com/api/download-pdf';
axios({
method: 'get',
url: apiUrl,
responseType: 'arraybuffer' // 设置响应类型为arraybuffer
})
.then(response => {
if (response.data.length === 0) {
throw new Error('API响应中的PDF文件为空');
}
fs.writeFileSync('output.pdf', response.data); // 将响应中的PDF文件保存到本地
console.log('PDF文件保存成功');
})
.catch(error => {
console.error(error);
});
在这个示例中,我们使用axios库发送一个GET请求,并将响应类型设置为arraybuffer。这样可以确保在获取响应数据时,PDF文件不会被自动转换为字符串。
然后,我们检查响应数据的长度是否为0。如果是空的,则抛出一个错误。
最后,我们使用fs模块的writeFileSync方法将响应数据写入到名为output.pdf的文件中。
请注意,这只是一个简单的示例,实际情况可能会有所不同。你可能需要根据你的API响应的具体结构和要求进行适当的调整。