Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Имитация загрузки файла (https://javascript.ru/forum/events/59236-imitaciya-zagruzki-fajjla.html)

laimas 02.11.2015 17:34

Ориентир - изображение полученное из поля file как fileReader.readAsDataURL() будет присваиваться src изображения, которое в блоке обрезки находится (ищите в результирующем html-коде), а в случае сетевого изображения, этому scr нужно передать this в событии im.ounload. Если используется canvas, то где-то "недалеко" будет и передача в него.

pogranpv 02.11.2015 17:56

так что сказать я понял что загрузка дальше, короче пробовал сделать дальше, сделал вообще вот так
resetImage = function() {
            var im = new Image();
            im.src = 'http://look.loc/statics/web/blogs/preview/9602/9602.jpg';
            im.onload = function(event) {
                $(this).one(EVENT_LOAD, loadImage);
            }
        },


а сама функция лоад вот
loadImage = function(event) {
            $(sourceImage).one(EVENT_LOAD, function() {
                $image.one(EVENT_LOAD, start);
                $image.attr('src', this.src);
            });
            sourceImage.src = event.target.result;
        },


и в итоге я стал получать окно http://prntscr.com/8y6i0n вот только ничего не сохраняет, как будто из пустого хочет сделать что-то

pogranpv 02.11.2015 18:00

Цитата:

Сообщение от laimas (Сообщение 394168)

хотя можно и Blob получить, но нет смысла.

а как мне Blob получить правильно? я думаю у меня косяк идёт именно поэтому, по сути если Blob получить должно быть всё нормально

pogranpv 02.11.2015 18:17

эх уже почти всё но не сохраняет((((
сделал конечный результат вот так
resetImage = function() {
            var im = new Image();
            im.src = 'http://look.loc/statics/web/blogs/preview/9602/9602.jpg';
            im.onload = function(event) {
                $image.one(EVENT_LOAD, start);
                $image.attr('src', this.src);
                sourceImage.src = this.src;
            }
        },


всё работает как надо кропает визуально, но только ничего не сохраняет на серваке((

laimas 02.11.2015 18:38

Цитата:

Сообщение от pogranpv
всё работает как надо кропает визуально, но только ничего не сохраняет на серваке


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

Дорабатывать надо серверный скрипт так, чтобы при получении координат, но не загруженного файла, сервер брал локальный файл, который определен для плагина сетевым. Либо с клиента передавать считанный сетевой (нужно дорабатывать клиентский код загрузки файлов на сервер), что в общем то глупо.

pogranpv 02.11.2015 18:51

ага спасибо за всё, очень сильно помогли, серверную часть я уже точно сам сделаю

laimas 02.11.2015 19:32

Значит получается, что не используется ни canvas, ни FormData() и изображение передается не Ajax методом на сервер. В таком случае не надо var im = new Image() и т.д., а просто указать путь сетевого файла изображению, которое в блоке обрезки.


Часовой пояс GMT +3, время: 01:02.