Плагин ajaxImageUpload: оригинальное jQuery-решение для загрузки изображений
Оригинальный плагин ajaxImageUpload — это решение на jQuery, которое позволяет выполнять пакетную загрузку, предварительный просмотр, удаление и настройку размера загружаемых файлов. Также можно настроить количество загружаемых изображений и способ их добавления. Кроме того, есть возможность задать функции обратного вызова до и после загрузки, а также при удалении файлов.
Если вам нравится этот плагин, не забудьте поставить лайк!
github: https://github.com/gouguoyin/ajax-image-upload
gitee: https://gitee.com/gouguoyin/ajax-image-upload
demo: http://www.gouguoyin.com/ajax-image-upload
Перед загрузкой:
Демонстрация снимка экрана: https://image-static.segmentfault.com/307/630/3076307501-5e7f37312c655.
После загрузки:
Демонстрация снимка экрана: https://image-static.segmentfault.com/241/131/2411318232-5e7f373f1a8eb.
Использование
<link href="./css/jquery.upload.min.css" type="text/css" rel="stylesheet">
<script src="https://cdn.staticfile.org/jquery/3.1.0/jquery.min.js"></script>
<script src="./js/jquery.upload.min.js"></script>
<div class="upload-box1"></div>
<div class="upload-box2"></div>
$(".upload-box1").ajaxImageUpload({
fileInput: 'file1', //имя кнопки загрузки, то есть значение name поля input[type=file]
postUrl: './upload1.php', //адрес сервера для загрузки
});
$(".upload-box2").ajaxImageUpload({
fileInput: 'file2', //имя кнопки загрузки, то есть значение name поля input[type=file]
postUrl: './upload2.php', //адрес сервера для загрузки
});
Обработка на сервере не имеет особых ограничений, пока сервер принимает данные формы file и обрабатывает их, возвращая JSON-данные. В данных JSON успешного выполнения должен быть код со значением 200, а src — URL изображения после загрузки. При неудачной загрузке данные JSON должны содержать код и сообщение об ошибке.
Например, для ./upload1.php:
$file = $_FILES["file1"]; // должно соответствовать fileInput в конфигурации
if(!isset($file['tmp_name']) || !$file['tmp_name']){
echo json_encode(['code' => 401, 'msg' => 'Нет файла для загрузки']);
return false;
}
if($file["error"] > 0){
echo json_encode(['code' => 402, 'msg' => $file["error"]]);
return false;
}
$upload_path = dirname(__FILE__) . "/uploads/" . date('Ymd/');
$file_path = "./uploads/" . date('Ymd/');
if(!is_dir($upload_path) && !mkdir($upload_path, 0777, true)){
echo json_encode(array('code' => 403, 'msg' => 'Ошибка создания каталога загрузки, проверьте права доступа'));
return false;
};
if(move_uploaded_file($file["tmp_name"], $upload_path.$file['name'])){
echo json_encode(['code' => 200, 'src' => $file_path . $file['name']]);
return true;
}else{
echo json_encode(['code' => 404, 'msg' => 'Загрузка не удалась']);
return false;
}
Рекомендуется использовать easyhttp — лёгкий, семантический и дружественный к IDE HTTP-клиент — для обработки.
Параметры
Параметр | Описание | Обязательный | Значение по умолчанию |
---|---|---|---|
fileInput |
Имя кнопки загрузки, т. е. значение name поля input[type=file]. | Да | |
postUrl |
Адрес сервера для загрузки. | Да | |
width |
Ширина изображения. | Нет | 150 |
height |
Высота изображения. | Нет | 150 |
imageUrl |
Ссылка на уже загруженное изображение. | Нет | [] |
postData |
Дополнительные данные JSON. | Нет | {} |
allowZoom |
Разрешить увеличение. | Нет | true |
allowType |
Типы изображений, которые можно загрузить. | Нет | ["gif", "jpeg", "jpg", "bmp", "png"] |
maxNum |
Максимальное количество изображений для загрузки. | Нет | 3 |
maxSize |
Максимальный размер изображения в мегабайтах. | Нет | 2 |
appendMethod |
Способ добавления изображений: before или after. | Нет | before |
before |
Функция обратного вызова перед загрузкой. | Нет | |
success |
Функция успешного завершения загрузки одного изображения. | Нет | |
complete |
Функция успешного завершения всех загрузок. | Нет | |
delete |
Функция удаления изображения. | Нет | |
error |
Функция ошибки загрузки. | Нет |
Журнал изменений
Задачи — Пакетная загрузка (x). — Увеличение изображения (x). — Устранение зависимости от jQuery (–). — Обрезка и сжатие (–). — Сортировка перетаскиванием (–).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )