Мне не удалось сделать эту работу ... они мне помогают?
функция получает идентификатор файла в качестве параметра (пример: https://yadi.sk/d/idexample только получает: idexample)
module.exports.yadisk = (id, callback)=>{
const https = require('https');
const fs = require('fs');
let url = 'https://cloud-api.yandex.net/v1/disk/public/resources?public_key=https%3A%2F%2Fyadi.sk%2Fd%2F' + id;
var https_req_1 = https.request(url, (res)=>{
res.setEncoding('utf8');
var body = '';
res.on('data', (chunk)=>{
body = body + chunk;
});
res.on('end',()=>{
var jBody = JSON.parse(body);
var yd_file = fs.createWriteStream(jBody.name);
var https_req_2 = https.get(jBody.file, (https_res_2)=>{
https_res_2.pipe(yd_file);
yd_file.on('error', (e)=>{
callback(e);
});
yd_file.on('finish', ()=>{
yd_file.close();
callback('its ok');
});
});
https_req_2.on('error', (e)=>{
callback(e.message);
});
});
});
https_req_1.on('error', (e)=>{
callback(e.message);
});
https_req_1.end();
};
забавно то, что ссылка, которая возвращает "jBody.file", работает правильно из браузера. С помощью этой функции генерируемый файл весит 0 байт, но не содержит ошибок, а обратный вызов возвращает «все в порядке»
большое спасибо за потраченное время =)