Как часть моего проекта, я должен создать текстовые файлы, которые должны быть загружены как «.txt». Я использую node.js и React JS, и я уже пытался использовать node.js "fs.writeFile", но браузер не распознает загрузку, имя файла всегда вызывается как имя папки и файл всегда пуст, хотя переменная является строкой, а не пустой. Я звоню от клиента к этой функции:
app.post("/downloadnetworks", async (req, res) => {
let selectedApps=req.body.selectedApps;
let arr=await sqlFunctions.createByIds(selectedApps);
res.send();
module.exports.createByIds = (productsArray) => {
return new Promise(function (resolve, reject) {
var bulkedString='';
var product;
for(let obj of productsArray)
{
let query="select * from...........";
con.query(query, function(err, result, fields) {
if (err) throw err;
let stringifiedJson = JSON.stringify(result)
let parsedJson= JSON.parse(stringifiedJson)
Данные БД добавляются в переменную 'stringified Json', и она продолжается здесь:
let parsedJson= JSON.parse(stringifiedJson) //has all the data from the DB
for(let network of parsedJson)
{
if (network.certification_Id)
{
bulkedString+=network.domain_Name+", "+ network.publisher_Id+", "+ network.relationship+", "+network.certification_Id;
}
else
{
bulkedString+=network.domain_Name+", "+ network.publisher_Id+", "+
network.relationship;
}
bulkedString+="\n";
product=network.product;
}
})
fs.writeFile('C:\Work\App ads.txt\App-Ads Files\''+product+'.txt', bulkedString, 'utf8', (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
}
resolve(bulkedString)
})
}
Спасибо за помощников !!!