Автоматически изменять размер загружаемой фотографии

  • 9 Ответов
  • 605 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Добрый день! Как можно автоматически изменять размер загружаемой фотографии, чтобы пользователям не пришлось прибегать к сторонним ресурсам?


*

Онлайн ChaosHead

Какие-то драконовские у вас там методы: Если размер вашей фотографии превышает 200 КБ, то ее следует уменьшить.
Думаю люди просто пойдут на следующий форум или соц сеть.
Kunena умеет уменьшать размер фоток по ширине и высоте. Поставьте 800/600 и будет вам счастье, а килобайты в наше время стоят копейки.

У меня дисковое пространство 2 гб. Сейчас у меня на фото выставлены значения как на изображении. Как мне лучше сделать? Ширина 800, длина 600. А размер какой выставить?




ничего не получается(( Подскажите, пожалуйста, что я не так делаю?




*

Онлайн ChaosHead

2гб - это печаль, но юзеры страдать от ваших проблем не должны. Хотя ваше дело конечно.

дополнительный гб это 50 рублей в месяц, учитывая, что на форуме будет много фотографий - я разорюсь(( Можете, что-нибудь посоветовать в этой ситуации? Буду очень признательна. Выход - только через сторонний ресурс? Может этот предлагать http://hostingkartinok.com/?

PS Форум только запустили и пока только заполняем.
« Последнее редактирование: 16.05.2015, 16:23:28 от oskol_fond »

*

Оффлайн KKAAZZOO

Надо писать плагин который на лету будет проводить валидацию поля на предмет размера фотографии или подключить скрипт типа
/* onchange event handler for the file input field. It emplements very basic validation using the file extension and filesize. If the file passes validation it will show the image using it's blob URL and will hide the input field and show a delete button to allow the user to remove the image */
jQuery('#main_photo_ads').on('change', function () {
    ext = jQuery(this).val().split('.').pop().toLowerCase();
    var fsize = $('#main_photo_ads')[0].files[0].size;
    var ftype = $('#main_photo_ads')[0].files[0].type;
    var fname = $('#main_photo_ads')[0].files[0].name;
    var sizeresult = parseInt(fsize / 1024, 10);
    var ftyperesult = ext.toUpperCase();
    var fnameresult = fname.toUpperCase();
    if (fsize > 307200 || jQuery.inArray(ext, ['gif', 'png', 'jpg', 'jpeg']) == -1) {
        resetFormElement(jQuery(this));
        window.alert('Файл ' + fnameresult + ' [' + sizeresult + ' Кб] - не допустим.\nРазрешены файлы GIF, JPEG, PNG, JPG < 300 Кб.\nУменьшите изображение и попробуйте снова. Спасибо!');
    } else {
        file = jQuery('#main_photo_ads').prop("files")[0];
        blobURL = window.URL.createObjectURL(file);
        jQuery('#image_preview img').attr('src', blobURL);
        jQuery('#image_preview').fadeIn("fast");
        jQuery(this).fadeOut("slow");
    }
});
 
/** onclick event handler for the delete button. It removes the image, clears and unhides the file input field. **/
jQuery('#image_preview a').bind('click', function () {
    resetFormElement(jQuery('#main_photo_ads'));
    jQuery('#main_photo_ads').fadeIn("fast");
    jQuery(this).parent().fadeOut("slow");
    return false;
});
 
/*** Reset form element * @param e jQuery object ***/
function resetFormElement(e) {
    e.wrap('<form>').closest('form').get(0).reset();
    e.unwrap();
}

Меняйте хостинг, к примеру на jino  150 Гигов стоят 3.5 рубля в день

105 рублей в месяц и 150 гб(((((((((((( Я на таймвэб, оплатила за год вперед и домен в подарок. Если бы я раньше знала(  А дисковое пространство отдельно возможно купить? Заранее прошу прощения за глупые вопросы.

*

Оффлайн KKAAZZOO

Вы же сами написали что можно