Дано: Пишу приложение на Электрон, есть текстовый файл, из которого нужно получить массив имен. Массив успешно получен, можно вывести в консоль. console.log(array[0]) Реклама - ALESA04032016.mp3
При передаче элемента этого массива в качестве аргумента в функцию (или подобную для работы с файловой системой) find.fileSync(array[0], "D:/transfer") получаем пустой массив на выходе []
Однако: find.fileSync("Реклама - ALESA04032016.mp3", "D:/transfer") на выходе все прекрасно ["D:\transfer\roliki\rolikiNOW\Реклама - ALESA04032016.mp3"]
И ещё при создании массива в "вручную", например, let array = ["Реклама - ALESA04032016.mp3", "Реклама - Центр Города 31 08 17 (Рыба).mp3"], find.fileSync(array[0], "D:/transfer") на выходе все также ок ["D:\transfer\roliki\rolikiNOW\Реклама - ALESA04032016.mp3"]
Ссылка https://github.com/crocodeev/electronTester
Код
const searcher = require('string-search');
const path = require('path');
const fs = require('fs');
const find = require('find');
let openButton = document.getElementById('openButton');
let openInput = document.getElementById('openInput');
let nameArrayButton = document.getElementById('nameArray')
let nameArr = [];
nameArrayButton.addEventListener('click', () => {
console.log(nameArray);
});
openButton.addEventListener('click', () => {
openInput.click()
});
openInput.addEventListener('change', handleFileSelect);
function handleFileSelect(e) {
let file = e.target.files[0];
let reader = new FileReader();
reader.onload = function (e) {
string = e.target.result;
searcher.find(string, "Реклама")
.then(result => arrayRebuilder(result))
.then(result => nameReturn(result))
}
reader.readAsText(file, "windows-1251");
}
function arrayRebuilder(array) {
let newArray = [];
for (let i = 0; i < array.length; i++) {
let editFilePath = array[i].text.slice(9, array[i].length);
newArray.push(editFilePath);
}
return newArray;
}
function nameReturn(result) {
result.forEach(function(item) {
let pt = path.parse(item).base;
nameArr.push(pt)
})
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
подскажите, как сделать чтобы черный квадрат не смог проходить сквозь зеленый квадрат
Написал скрипт для постройки блоков в виде кирпичной кладкиНо когда не указываю явную высоту блока, то скрипт неверно считает высоту и соответственно...