Я пытаюсь загрузить 3 файла из каталога file/JOHN
, где файлы уже присутствуют.
Файлы в следующем формате.Допустим, они находятся в следующем месте (внутри папки file/JOHN
): C:/john/file/JOHN/
file1_1555077233.csv
file2_1555077233.csv
file3_1555077233.csv
Поскольку я тестирую его на своем компьютере с Windows, он находится в этом месте C:/john/file/JOHN/
.Однако в конечном итоге на сервере RHEL это будет выглядеть примерно так: /srv/users/JOHN/
, поэтому я использую каталог пользователя на компьютере Windows для целей тестирования.
Файлы не отображаются в текстовой области.Тем не менее, текстовая область отображается через 1 секунду, как только я нажимаю кнопку. Что я делаю не так?
Ниже кода отображается текстовая область через 1 секунду после нажатия кнопки Download File
.
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8"/>
<title>LoadFiles</title>
<link rel="stylesheet" href="built/style.css"/>
<script type="text/javascript">
var interval;
function loadFiles() {
interval = setInterval(displayTextArea, 1000);
}
function displayTextArea() {
console.log(new Date() + " ");
document.getElementById("downloadtextArea").innerHTML =
'<textarea maxlength="500" cols="30" rows="5"></textarea>';
const requests = [
'file1_1555077233.csv',
'file2_1555077233.csv ',
'file3_1555077233.csv'
].map(file => {
return fetch('file:///C:/john/file/JOHN/' + file)
.then(response => response.text())
.catch(console.error)
})
Promise.all(requests)
.then(contents => contents.join('\n'))
.then(content => {
//container.innerHTML = `<textarea>${content}</textarea>`
content.innerHTML = `<textarea>${content}</textarea>`
})
clearInterval(interval);
}
</script>
</head>
<body>
<button id="downloadFileButton" onclick="loadFiles()">Download File</button>
<div id ="downloadtextArea"></div>
</body>
</html>
Устранение неполадок Шаг I выполнен:
Скопировал следующий путь в браузер:
file:///C:/john/file/JOHN/file1_1555077233.csv
и я увидел файл