Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
Всем привет, Есть скрипт который ресайзит картинку, и помещает данные картинки в поле с id=hiddenInput1 автор<form enctype="multipart/form-data" method="post" action="upload.php"> <div class="row"> <label for="fileToUpload">Select Files to Upload</label><br /> <textarea id="hiddenInput1"></textarea> <input file="text" id="hiddenInput1" value=""> input type="file" name="filesToUpload[]" id="filesToUpload" multiple="multiple" /> </div> <div class="row"> <input type="submit" value="Upload" /> </div> </form> <script type="text/javascript" src=" http://code.jquery.com/jquery-1.7.1.min.js"></script> <script> if (window.File && window.FileReader && window.FileList && window.Blob) { document.getElementById('filesToUpload').onchange = function(){ var files = document.getElementById('filesToUpload').files; for(var i = 0; i < files.length; i++) { resizeAndUpload(files[i]); } }; } else { alert('The File APIs are not fully supported in this browser.'); } </script> <script> function resizeAndUpload(file) { var reader = new FileReader(); reader.onloadend = function() { var tempImg = new Image(); tempImg.src = reader.result; tempImg.onload = function() { var MAX_WIDTH = 640; var MAX_HEIGHT = 480; var tempW = tempImg.width; var tempH = tempImg.height; if (tempW > tempH) { if (tempW > MAX_WIDTH) { tempH *= MAX_WIDTH / tempW; tempW = MAX_WIDTH; } } else { if (tempH > MAX_HEIGHT) { tempW *= MAX_HEIGHT / tempH; tempH = MAX_HEIGHT; } } var canvas = document.createElement('canvas'); canvas.width = tempW; canvas.height = tempH; var ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0, tempW, tempH); var dataURL = canvas.toDataURL("image/jpeg"); $("#hiddenInput1").val(dataURL); // вот именно тут вставляем значение в скрытый инпут } } reader.readAsDataURL(file); } </script> Что нужно ? Нужно сделать три кнопки browse и 3 таких инпута, что бы к примеру в каждом инпуте был свой Base64 картинки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2016, 23:42 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
И еще если можно, обьясните мне пожалуйсто как работает данный метод загрузки файлов, который я наблюдал на некоторых сайтах. К примеру пользователь при выборе картинки может ее загрузить на сервер до ОТПРАВКИ ФОРМЫ. Т.е как это понимать ?, а если юзер загрузит картинки, и закроет формы, т.е уйдет с сайта, и все. То картинки кто удалит ? или как ? т.е получается картинки будут на сервере, как бы лежать просто так ? не привязанные допустим к сообщению ? или я что то не так понимаю ? обьясните данный метод как работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 00:01 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
И еще вопрос в плане безопасности такой метод безопасен ? т.е передавать base64 в PHP ? и какие методы защиты должны быть ? если они нужны ? как на стороне формы так и на стороне PHP обработки самого base64 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 00:50 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
sqlbotТо картинки кто удалит ? или как ? т.е получается картинки будут на сервере, как бы лежать просто так ? не привязанные допустим к сообщению ? или я что то не так понимаю ? обьясните данный метод как работает. например, фоновый процесс, убирающий мусор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 08:16 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
sqlbotИ еще вопрос в плане безопасности такой метод безопасен ? т.е передавать base64 в PHP ? и какие методы защиты должны быть ? если они нужны ? как на стороне формы так и на стороне PHP обработки самого base64 ? от чего защищаться? только от невалидной картинки. В нормальном случае(пользователь вместо картинки подсунул по ошибке текстовый файл) - сломается ресайзер на клиенте - предусмотреть обработку ошибок имеет смысл Злоумышленник может отправить на сервер любой мусор - на стороне сервера нужно проверить, что данные являются изображением в нужном формате, с допустимыми шириной, высотой, глубиной цвета и общим размером сам по себе base64 нужен чтобы двоичные данные передавались как текст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 08:26 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
Но как это сделать можно пример ? Как проверить что это именно картинку мы получаем ? а не какойто мусор ? Это важно ибо мало ли что может быть.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 12:56 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
Изопропил, На счет фотнового процесса вы имеете ввиду, какой нибудь скрипт который работает по крону ? И сверят прявязанна ли картинка к сообщению если нет удаляет ее ? но как по мне дергать базу данных к примеру если она большая ... я думал как то по проще с такой логикой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 12:59 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 14:38 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
sqlbotно как по мне дергать базу данных для того и база чтоб её дёргать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 14:56 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
Все равно никто внятного ответа не дал, каким образоп делать проверку, такого поля <input file=hidden value="тут идет код base64 картинки"> Как проверить, должен быть способо простой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 15:04 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
sqlbotКак проверить что это именно картинку мы получаем ? а не какойто мусор ? Это важно ибо мало ли что может быть.. самый простой способ - вызвать getimagesize, проверить mime тип, размеры и глубину цвета на допустимость. затем скопировать один к одному imagecopy (все метаданные вычистятся заодно) и сохранить результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 15:11 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
sqlbot Код: html 1. сначала ошибки исправьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 15:15 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
file type= просто в спешки писал Я так понял тут все гуру собрались только отдакиваться :) и попровлять, или тулить какие то примеры вообще редакторов с гитхаба. Вы что не видете простейший код ? :) Который получает картинку, преобразовует в base64 и отправляет этот Base64 php скрипту на обработку и сохранение. Вообщем ясно все :) отбой, а то еще холивар тут будет на 10 страниц, забуду где то запятую поставить, пристрелят, напомнят 10 раз, потом поправят и дадут ссылку автофил в гугле как искать ))))))) вот так помощь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 15:30 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
автор<textarea id="hiddenInput1"></textarea> <input file="text" id="hiddenInput1" value=""> ещё одну ошибку найдите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 15:50 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
sqlbotзабуду где то запятую поставить обратите внимание, что на грамматические ошибки в Ваших постах никто не указывал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 15:51 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
Изопропил, Да да я понял, но все же, суть сейчас не в этом, ибо ту проблему я решил. С генерацией скрытый инпутов и предустановленными значениями base64 для отправки. Ясно :) потом говорите что бы форум развивался и т д и т п, вот так обратился один раз, и все :) больше никто не придет не напишет.. т.е если вы принимаете участие в дискусии либо вы говорите по делу, и пытаетесь помочь, либо нет. А сидеть писать, там не то там не это :) когда речь идет уже не о выше-указанной проблеме. Ну да ладно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 16:28 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
sqlbotА сидеть писать, там не то там не это :) зато научитесь :) готовый код зачастую проще кинуть вообще-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 16:45 |
|
||
|
Ресайз картинок с помощью канвас (Jquery)
|
|||
|---|---|---|---|
|
#18+
автор потом говорите что бы форум развивался и т д и т п, вот так обратился один раз, и все :) больше никто не придет не напишет.. т.е если вы принимаете участие в дискусии либо вы говорите по делу, и пытаетесь помочь, либо нет. А сидеть писать, там не то там не это :) когда речь идет уже не о выше-указанной проблеме. Ну да ладно :) за моё время здесь столькот обидчивых прошло... а форум живёт по этому поводу есть давно сказанное: дай голодному рыбу - он будет сыт один день, а если дать ему леща - он научится добывать рыбу сам :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2016, 18:22 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39275028&tid=1445141]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 153ms |

| 0 / 0 |
