Введение в Plupload
Plupload разработана разработчиками Tinymce, предоставляя широко доступный плагин для загрузки для вашей системы управления контентом или аналогичные программы загрузки. PLUPLOAND в настоящее время делится на основной API и компонент очереди загрузки JQUERY, который позволяет использовать его напрямую или настраивать его самостоятельно.
1. Эффект дисплея
Включая панель загрузки файлов и список загрузки файлов
2. Введение
Чтобы произнести это коротко, Spring Springmvc Mybatis Maven Mysql используется для реализации функции многопрофильной загрузки, а загрузка использует форму потоков.
Я открою еще один блог, чтобы представить вовлеченные страницы.
3. Подготовьте материалы
Plupload
Artdialog
Есть также файл JS, который инициализирует плагин
Их можно скачать непосредственно с моего общего соединения
Ссылка: http://pan.baidu.com/s/1c27ctak пароль: btqj
Также есть загрузка jQuery
4. Код стойки регистрации
Представьте стили и файлы JS
<link rel = "styleSheet" href = "resources/css/plupload.css" type = "text/css"> <script src = "resources/js/jquery.min.js"> </script> <script src = "resources/upload/plupload.fu src = "resources/artdialog4.1.7/artdialog.source.js? skin = blue"> </script> <script src = "resources/js/upload.js"> </script>
JS -код
_plupload (bends uuid, путь загрузки файла); ① Что касается связанного UUID, позвольте мне привести пример. Текущий идентификатор пользователя uuid. Вы можете связать идентификатор пользователя с загруженным файлом. Если вы запросите в будущем, вы можете запросить все файлы, загруженные идентификатором пользователя в соответствии с идентификатором пользователя. ② Этот метод инкапсулируется и может быть замечен в upload.js. Комментарии в моей статье очень ясны, и вы также можете ссылаться на официальный документ.
$ (function () {3 $ ('#uploadBtn'). Click (function () {popupDialog ();}); _plupload ('test', '$ {pagecontext.request.contextPath}/uploadfile');});Код страницы, кнопка, всплывающее окно
<a id = "uploadbtn" href = "#"> загрузка файла </a> <!-запустите всплывающее окно-> <div id = "uploadcontent" style = "display: none; высота: 300px; overflow-x: hidden; overflow-y: auto;"> <div id = "select file"> <prop>. id = "uploadify" href = "javascript: void (0);"> select file </a> </div> <div id = "uploadfilequeue" style = "border: 1px solid #a7c5e2; высота: 228px; width: 350px;"> </div> </div> <pre id = "Консила"> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre> </pre>
5. Фоновый код
У меня нет метода, чтобы инкапсулировать это, поэтому я могу инкапсулировать его сам, чтобы ясно увидеть это
/ ** * Адрес запроса загрузки файла * * * @param request * @param response */ @requestmapping ("uploadfile") public void upload (httpservlectrequest, httpservletresponse response) {multiparthttpservlectrequest multiprakeStequest = (MultiveRthttpServOU (CommonsMultipartFile) multipartRequest.getFile("file");// Get file String unid = UUID.randomUUID().toString().replace("-", "");/* File primary key*/ String originalFilename = file.getOriginalFilename();/* Original file name, including the suffix*/ String flieSize = String.valueof (file.getSize ());/* Размер файла*/ string path = null;/* Путь хранилища файла*/ string punid = request.getParameter ("punid"); / * Связанный файл punid */// Сохранить файл if (file! = Null) {try {string basepath = request.getSession (). GetServletContext (). GetRealPath ("/uploadfile"); SimpleDateFormat sdf = new SimpleDateFormat ("/yyyy/mm/dd/"); String subpath = sdf.format (new Date ()); path = basePath + subpath + unid + file.separator + originalfilename; // Если папка не существует, создайте файл папки dir = new File (path); if (! dir.exists ()) {dir.mkdir (); } file.transferto (dir); } catch (Exception e) {e.printstackTrace (); }} // преобразование размера файла длинная kb = 1024; длинная Mb = Kb * 1024; Длинной GB = MB * 1024; длинный размер = long.parselong (летать); if (size> = gb) {flysize = string.format ("%. 1f Gb", (float) size / gb); } else if (size> = mb) {float f = (float) size / mb; Fliesize = string.format (f> 100? "%.0f Mb": "%.1f mb", f); } else if (size> = kb) {float f = (float) size / kb; Fliesize = string.format (f> 100? "%.0f Kb": "%.1f Kb", F); } else {flysize = string.format ("%d b", size); } // Сохранить информацию о файле в базе данных FileUpload fileupload = new FileUpload (); fileupload.setunid (Unid); fileupload.setoriginalfilename (OriginalFilename); fileupload.setfliesize (fliesize); fileupload.setpath (path); fileupload.setpunid (punid); SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd HH: MM: SS"); fileupload.setflietime (df.format (new Date ())); fileuploadservice.insert (fileupload); }Вот метод загрузки, который должен использовать потоки файлов для загрузки в соответствии с идентификатором файла
@Requestmapping ("DownloadFile") public void DownloadLoadFile (httpservletRequest, httpservletresponse response) {string Unid = request.getParameter ("Unid"); Fileupload fileupload = fileuploadservice.selectbyprimarykey (Unid); if (fileupload! = null) {try {string fileName = new String (fileUpload.getoriginalFilename (). GetBytes ("gbk"), "iso-8859-1"); String path = fileupload.getPath (); response.setcharacterencoding ("UTF-8"); response.setContentType («Приложение/октет-поток»); Response.setheader ("Содержимое-распада", "Приложение; filename =" + filename); response.setheader ("content-juins", fileupload.getfliesize ()); InputStream inputStream = new FileInputStream (новый файл (path)); OutputStream OS = response.getOutputStream (); байт [] b = новый байт [2048]; int длина; while ((length = inputstream.read (b))> 0) {os.write (b, 0, длина); } os.close (); inputstream.close (); } catch (filenotFoundException e) {e.printstackTrace (); } catch (ioException e) {e.printstackTrace (); }}}Есть также способ удалить его
/ ** * Удаление файла * * @param запрос * @param response */ @responsebody @requestmapping ("delfile") public map <string, object> defile (httpservlectrequest, httpservletresponse response) {string unid = request.getParameter ("unid"); Fileupload fileupload = fileuploadservice.selectbyprimarykey (Unid); // Удалить локальный логический флаг = false; File file = new File (fileupload.getPath ()); if (file.exists ()) {// Если путь является файлом и не является пустым, удалить flag = file.delete (); } // Удалить базу данных int result = fileUploadService.deleteByprimarykey (Unid); if (результат> 0) {flag = true; } Map <string, object> map = new hashmap <string, object> (); map.put ("result", flag); карта возврата; }Выше приведено Artdialog+Plupload, представленная вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!