powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Отправка формы через jQuery на сервер php, не удается передать картинку
5 сообщений из 5, страница 1 из 1
Отправка формы через jQuery на сервер php, не удается передать картинку
    #38752472
Albero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, есть проблема передачи картинки на сервер.

Есть форма с тестовыми полями и картинкой.
Картинку подгружаю через:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
    document.getElementById('btfilelog').addEventListener('change', function (e) {
        var file = document.getElementById('btfilelog').files[0];
        var reader = new FileReader();
        reader.onload = function (evt) {
            var filebuf = evt.target.result;
            document.getElementById('imglogo').src = filebuf;
        }
        reader.readAsDataURL(file);
    });



Потом собираю json результат и отправляю на сервер:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
        var m = '"name": "text1"'
            + ', "img": "'+document.getElementById('imglogo').src+'"'
            + ', "array": [{"a":"1"},{"a":"2"}]';

        $.ajax({
            type: "POST",
            url: "http://sibstro.ru/anketa_mod.php",
            data: "?&prog=1&mas={" + m + "}",
            dataType: "text",
            success: function (data) {
                $('#rez').html(data);
            },
            failure: function (errMsg) {
                alert(errMsg);
            }
        });



Потом на php парсю:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
    $sjsonmas = $_POST['mas'];
    $jsonMAS = json_decode($sjsonmas);

    $s_name = mysql_real_escape_string(iconv("utf-8", "windows-1251", $jsonMAS->{'name'}));
    $s_img = file_get_contents($s_img);

    $fp = fopen("img.png", "w");
    fwrite($fp, $s_img);
    fclose($fp);



но картинка сохраняться не верного размера(меньше) и не открывается.
с текстом и массивом все в порядке.
...
Рейтинг: 0 / 0
Отправка формы через jQuery на сервер php, не удается передать картинку
    #38752691
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alberoне удается передать картинкуА что передается вместо картинки? Или что приходит на сервер...
...
Рейтинг: 0 / 0
Отправка формы через jQuery на сервер php, не удается передать картинку
    #38752739
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleА что передается вместо картинки?известно что - содержимое картинки в виде DataURL.
и похоже file_get_contents не умеет такой урл правильно воспринять.

потому в reader.onload надо помимо прочего отрезать от строки заголовочные данные и отдельно сохранить строку base64, которую и передать в аяксовом запросе, а на сервере вместо file_get_contents выполнить base64 decode.
...
Рейтинг: 0 / 0
Отправка формы через jQuery на сервер php, не удается передать картинку
    #38752788
Albero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Меч отрезать от строки заголовочные данные и отдельно сохранить строку base64

Вот чтобы не заниматься лишним обрезанием вместо base64 и применяю file_get_contents
Даже если обрезать и применить base64_decode проблема не исчезает.
...
Рейтинг: 0 / 0
Отправка формы через jQuery на сервер php, не удается передать картинку
    #38752806
Albero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решилась через формирования date через new FormData()
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Отправка формы через jQuery на сервер php, не удается передать картинку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]