您可以使用nodejs 请求和使用 loopback 4 控制器轻松完成此操作。你需要导入这个包:
var request = require('request');
var fs = require('fs');
并将这段代码放在端点方法中:
@get('/getImage')
async retrieveImage(): Promise<any> {
let file = fs.createWriteStream(__dirname + `/file.jpg`);
console.log('the file is here: ' + file.path);
return await new Promise((resolve, reject) => {
request({
url: 'URL_TO_FILE',
headers: {
'Content-disposition': 'attachment; filename=FILENAME',
'Content-type': 'application/octet-stream',
},
gzip: true,
})
.pipe(file)
.on('finish', () => {
console.log(`The file is finished downloading.`);
resolve();
})
.on('error', (error: any) => {
reject(error);
})
}).catch(error => {
console.log(`something happened: ${error}`)
});
}
从这里你需要去这个网址:
http://localhost:3000/getImage
该文件将位于您的控制器文件夹中,名称为“file.jpg”。