Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.11.2023
Сообщений: 44

Неверное имя файла при его получении

07.01.2026, 16:06. Показов 235. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Использую этот код для отправки файла:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
let formData = new FormData();
        console.log(fileInput.files[0].name);
        formData.append("uploadFile", fileInput.files[0]);
        loadingModal.showPopover();
        fetch("(url protected)/uploadfile",
            {
                method: "POST",
                body: formData
            }).then(r => {
                if (r.ok) {
                    r.text().then(t => {
                        var j = JSON.parse(t);
                        socket.emit("msg", `{"type":"file","content":"${j.fileid}"}`);
                        isUploadingFile = false;
                        loadingModal.hidePopover();
                    });
                }
                else {
                    isUploadingFile = false;
                    loadingModal.hidePopover();
                    alert("Failed! Please try again.");
                }
            });
Код на сервере:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
app.post('/uploadfile', (req, res) => {
    res.header("Access-Control-Allow-Origin", "(url protected)");
    if (req.files && Object.keys(req.files).length !== 0) {
        const uploadedFile = req.files.uploadFile;
        console.log(uploadedFile);
 
        var fileid = randstring(12);
 
        const uploadPath = "/chat_project/fileuploads/"
         + fileid + "." + uploadedFile.name.split('.').pop();
 
        uploadedFile.mv(uploadPath, function (err) {
            if (err) {
                console.log(err);
                res.status(500);
                res.send("Failed!");
            }
            else {
                db.run(`INSERT INTO files (fileid, filename) 
                    VALUES ("${fileid}", "${encodeURIComponent(uploadedFile.name)}")`)
                res.status(200);
                res.send(`{"fileid":"${fileid}"}`);
            }
        });
    }
    else {
        res.status(400);
        res.send("No file uploaded!");
    }
});
В консоль на клиенте выводится правильное имя файла:


В консоль на сервере выводится неверное имя файла:


Можно ли это исправить, чтобы имя файла было правильным?
Миниатюры
Неверное имя файла при его получении   Неверное имя файла при его получении  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.01.2026, 16:06
Ответы с готовыми решениями:

Неверно считается width() и height() при получении данных через AJAX
Доброго времени суток! Есть скрипт модальных окон на jQuery, при отображении обычного контента,...

$.post выводит функцию успеха, даже когда исполняемого файла нет или указан неверный путь!
В одном из скриптов выполнял следующее: $.post( "http://domain.ru/c_scr/source.php", {local_sor:...

Получения максимального размера блока по его классу
например у меня есть <div class="test"></div> <div class="test"></div>

1
 Аватар для voraa
1269 / 1233 / 183
Регистрация: 21.01.2024
Сообщений: 5,675
07.01.2026, 20:49
Браузер посылает совершенно корректное имя в utf-8.
Похоже сервер (express ?) не понимает, что это utf-8, а не латиница.
Посмотрите тут
https://stackoverflow.com/ques... nvironment
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.01.2026, 20:49
Помогаю со студенческими работами здесь

Получение value из select и внесение его в input
Добрый день! Есть код: <form> <select name="prefix" id="prefix"...

Создание элемента и получение его по ID
Доброе время суток! Порылся в форуме. Не нашел. Видимо грабли. Так что не пинайте. Просветите...

Получение элемента по его классам
Позабыл как к классу обратиться чтоб заменить это <div class="action-with-items selling"...

Получение значения <p> и его вывод
Есть в html несколько абзацев. Их нужно пронумеровать и вывести все по порядку. Как это можно...

Получение [i] массива при клике и его родительский элемент в массиве
Есть такой код: for (i = 0; i &lt;data.length; i++){ let names = data.name; let...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru