@alexperec

Как реализовать отправку файла на сервер на чистом JS?

Пробовал открывать файл с помощью FileReader readAsBinaryString, и отправлять на сервер multipart/form-data

Работает через раз. Проблему описывал здесь Загрузка файлов ajax, в чем ошибка?

На других форумах пишут, что проблема может быть из-за разной кодировки страниц. Нужно решение, которое бы работало при любой кодировке страницы.

При этом, без использования библиотек, вроде jQuery.
Желательно вообще без библиотек, на чистом js.

Третий день ломаю голову, не получается найти решение. Прошу помочь.
  • Вопрос задан
  • 610 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
  • @Kirill-Gorelov
    Middle php
    На всякий случай напишу про мелочи о которых все знают. Вдруг забыл, бывает.
    1. multipart/form-data
    2. <input type="file" name="file">
    3. Посмотри что приходит get/post
    4. max_file_uploads смотреть в phpinfo();
    5. post_max_size смотреть в phpinfo();

    И смотри какой вес файла отправляется.
    Хотя бы будешь знать в чем причина ошибки.
    Ответ написан
  • maxfarseer
    @maxfarseer
    Опрос: https://goo.gl/forms/qMdt64HRyGiGIjFQ2
    На днях долго ковырялся с нативными fetch + formData для загрузки файла с формы. Как вы знаете, для того, чтобы браузер посчитал content-length и все такое нужен заголовок Content-type: multipart/form-data… в итоге, путем долгих поисков было найдено, что если использовать нативный fetch (не jquery.Ajax, не суперагент, isomorphic-fetch и другие, а именно нативный) - то заголовок Content-type устанавливать (внимание) не нужно.

    Поэтому если есть возможность использовать нативный fetch (смотрите поддержку браузерами) - то все получится.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы