anyupload — это чистый плагин для загрузки файлов, который можно легко интегрировать в любой проект. Он поддерживает множественную загрузку файлов, динамическое управление скоростью загрузки, мониторинг реальной скорости загрузки (кб/с), поблочное создание MD5, поблочную загрузку и проверку MD5 после загрузки, паузу, отмену и другие функции.
Адрес для тестирования: https://www.dianbaer.com/AnyUploadClient/
Описание проекта: anyupload состоит из двух частей: AnyUploadClient и AnyUploadServer. AnyUploadClient содержит 1000 строк кода и включает в себя следующие компоненты:
AnyUploadServer содержит 899 строк кода и состоит из следующих компонентов:
Для использования AnyUploadClient выполните следующие шаги:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--juggle库 all in one-->
<!--
<script src="js/lib/juggle-all.js" type="text/javascript"></script>
-->
<!--juggle库 small require-->
<script src="js/lib/juggle-help.js" type="text/javascript"></script>
<script src="js/lib/juggle-event.js" type="text/javascript"></script>
<script src="js/lib/juggle-juggler.js" type="text/javascript"></script>
<script src="js/lib/juggle-http.js" type="text/javascript"></script>
<script src="js/lib/juggle-mv.js" type="text/javascript"></script>
<!--разделение на блоки и генерация MD5-->
<script src="js/lib/spark-md5.js" type="text/javascript"></script>
<script src="js/lib/jquery.min.js" type="text/javascript"></script>
<link href='js/anyupload/css/anyupload.css' rel='stylesheet' type='text/css'/>
<!--anyupload библиотека-->
<script src="js/anyupload/dist/anyupload.js" type="text/javascript"></script>
</head>
var fileMediator;
/**
* Реакция на выбор файла
* @param e
*/
var uploadFileButtonChange = function (e) {
if (!("FileReader" in window) || !("File" in window)) {
alert("Ваш браузер не поддерживает HTML5, пожалуйста, используйте Google, Firefox, IE10 и т. д.");
return;
}
var files = e.target.files;
//вызов функции загрузки anyupload
fileMediator.upLoadFile(files);
//очистка содержимого кнопки загрузки
$("#uploadFileButton").val("");
};
window.onload = function () {
/****инициализация anyupload начинается*****/
fileMediator = new anyupload.FileMediator();
//указание объекта контейнера anyupload
fileMediator.initView($("#anyUploadContainer"));
//установка адреса загрузки anyupload
anyupload.uploadFileProxy.url = "http://localhost:8080/AnyUploadServer/s";
/****инициализация anyupload заканчивается*****/
$("#uploadFileButton").on("change", uploadFileButtonChange);
};
<!--кнопка загрузки файла-->
<input type="file" class="myFile_PJY" multiple="multiple" id="uploadFileButton"
style="margin-left: 50px;margin-top: 20px"/>
<!--контейнер anyupload-->
<div id="anyUploadContainer" style="width: 800px;margin-top: 50px;"></div>
Чтобы упаковать исходный код AnyUploadClient, выполните следующие действия:
cd AnyUploadClient/js/anyupload
npm install -g grunt-cli
npm install
grunt
ХопКод = 1;
файлБэйзМд5 = 2;//мд5
юзерФайлоНэйм = 3;//имя файла
юзерФолдПэрэнтАйДи = 4;//идентификатор родительской папки файла
инт64 файлБэйзТоталСайз = 5;//общий размер файла
юзерФайлАйДи = 6;//идентификатор файла
}message МД5ЧекС{ строка хопКод = 1; инт32 результат = 2;//результат: 1 — мгновенная передача, 2 — можно передать инт64 файлБэйзПоз = 3;//начальная позиция инт32 апУоадлиМаксЛенгхт = 4;//максимальная длина одной передачи юзерфайлАйди = 5;//идентификатор файла }
message АпУоадФайлСи{ строка хопКод = 1; юзерфайлАйди = 2;//идентификатор файла инт64 файлбэйзПоз = 3;//начальная позиция инт32 апУоадлиЛенгхт = 4;//длина передачи }
message АпУоадфайлЭс{ строка хопКод = 1; инт32 результат = 2;//результат: 1 — мгновенная передача, 2 — можно передать, 3 — передача завершена инт64 файлбэйзПоз = 3;//начальная позиция инт32 апУоадлиМаксленгхт = 4;//максимальная длина одной передачи юзерфайлАйди = 5;//идентификатор файла инт32 вэйттайм = 6;//время ожидания }
ant
Зависимости от следующих библиотек, всего (1429 строк, стоимость обучения крайне низкая) grain-httpserver.jar (1318 строк) grain-log.jar (111 строк) github: https://github.com/dianbaer/grain кодовая облачная платформа: https://gitee.com/dianbaer/grain
Зависимость от самых простых библиотек, всего (614 строк, стоимость обучения крайне низкая): juggle-help.js (33 строки) juggle-event.js (256 строк) juggle-http.js (99 строк) juggle-mv.js (104 строки) juggle-juggler.js (122 строки) github: https://github.com/dianbaer/juggle кодовая облачная платформа: https://gitee.com/dianbaer/basic
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )