摘要:目的本文旨在整合百度前端富文本與,使用作為的后端,提供上傳圖片等后臺相關的功能,即使用替換官方提供的后臺方式。
目的
本文旨在整合百度前端富文本Ueditor與SpringMVC,使用Spring Controller作為Ueditor的后端,提供上傳圖片等后臺相關的功能,即使用SpringMVC替換官方提供的JSP后臺方式。
步驟創建web工程,本文以maven進行創建和管理,最終目錄結構如下:
創建Ueditor統一后臺Controller服務
import org.apache.commons.io.FileUtils; import org.springframework.stereotype.Controller; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; @Controller @RequestMapping("/ued") public class UeditorController{ @RequestMapping("/serverUrl") @ResponseBody public Object test(HttpServletRequest request, @RequestParam(value = "action") String action, @RequestParam(value = "upfile", required = false) MultipartFile file) throws Exception { switch (action) { case "config": // 加載返回ueditor配置文件conf/config.json return getConfig(); case "uploadimage": // 上傳圖片 return uploadImage(request, file); case "uploadvideo": // 上傳視頻 return "視頻處理方法"; case "uploadfile": // 上傳文件 return "文件處理方法"; default: return "無效action"; } } private String getConfig() throws Exception { File file = ResourceUtils.getFile("classpath:conf/config.json"); String json = FileUtils.readFileToString(file, "utf-8"); return json; } private MapuploadImage(HttpServletRequest request, MultipartFile file) { String state = "SUCCESS"; String savedDir = request.getSession().getServletContext().getRealPath("upload"); String filename = file.getOriginalFilename(); File filepath = new File(savedDir,filename); if (!filepath.getParentFile().exists()) { filepath.getParentFile().mkdirs(); } // 寫到服務器路徑下,可擴展,比如上傳到云端或文件服務器 file.transferTo(new File(savedDir + File.separator + filename)); String uploadHttpUrl = "http://localhost:8083/upload"+ File.separator + filename; return resultMap(file, state, uploadHttpUrl); } private Map resultMap(MultipartFile file, String state, String uploadHttpUrl) { Map resMap = new HashMap (); resMap.put("state", state); //"SUCCESS" 表示成功 resMap.put("title", file.getOriginalFilename()); resMap.put("original", file.getOriginalFilename()); resMap.put("type", file.getContentType()); resMap.put("size", file.getSize()); resMap.put("url", uploadHttpUrl); return resMap; } }
資源加載幫助類
import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; import java.io.File; import java.io.FileNotFoundException; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; public class ResourceUtils{ public static File getFile(String resourceLocation) throws FileNotFoundException { Assert.notNull(resourceLocation, "Resource location must not be null"); if (resourceLocation.startsWith("classpath:")) { String path = resourceLocation.substring("classpath:".length()); String description = "class path resource [" + path + "]"; ClassLoader cl = ClassUtils.getDefaultClassLoader(); URL url = cl != null ? cl.getResource(path) : ClassLoader.getSystemResource(path); if (url == null) { throw new FileNotFoundException(description + " cannot be resolved to absolute file path because it does not exist"); }else{ return getFile(url, description); } }else{ try { return getFile(new URL(resourceLocation)); }catch (MalformedURLException var5) { return new File(resourceLocation); } } } public static File getFile(URL resourceUrl, String description) throws FileNotFoundException { Assert.notNull(resourceUrl, "Resource URL must not be null"); if (!"file".equals(resourceUrl.getProtocol())) { throw new FileNotFoundException(description + " cannot be resolved to absolute file path because it does not reside in the file system: " + resourceUrl); }else{ try { return new File(toURI(resourceUrl).getSchemeSpecificPart()); } catch (URISyntaxException var3) { return new File(resourceUrl.getFile()); } } } public static URI toURI(URL url) throws URISyntaxException { return toURI(url.toString()); } public static URI toURI(String location) throws URISyntaxException { return new URI(StringUtils.replace(location, " ", "%20")); } public static File getFile(URL resourceUrl) throws FileNotFoundException { return getFile(resourceUrl, "URL"); } }
配置ueditor.config.js
把文件中的serverUrl: URL + "jsp/controller.jsp",修改為serverUrl: "/ued/serverUrl" 即可。
效果文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69047.html
摘要:目的本文旨在整合百度前端富文本與,使用作為的后端,提供上傳圖片等后臺相關的功能,即使用替換官方提供的后臺方式。 目的 本文旨在整合百度前端富文本Ueditor與SpringMVC,使用Spring Controller作為Ueditor的后端,提供上傳圖片等后臺相關的功能,即使用SpringMVC替換官方提供的JSP后臺方式。 步驟 創建web工程,本文以maven進行創建和管理,最...
摘要:前言由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 前言 由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導航哦~想要獲取最新原創的技術文章歡迎關注我的公眾號:Java3y Java3y文章目錄導航 Java基礎 泛型就這么簡單 注解就這么簡單 Druid數據庫連接池...
摘要:的整合大致結構中放置的配置文件,由于這個例子很簡單,所以配置得比較簡單。在與的整合中,在這里不用配置,因為在整合包中有的掃描類。中配置的是和整合的配置。其中包括數據源數據池的配置的配置掃描器的配置還有事務的配置。所以將改了就解決問題了 1. springMVC+spring+mybatis的整合大致結構: showImg(https://segmentfault.com/img/bVb...
閱讀 3697·2021-11-12 10:36
閱讀 3837·2021-09-22 15:48
閱讀 3549·2019-08-30 15:54
閱讀 2603·2019-08-29 16:44
閱讀 2371·2019-08-29 16:08
閱讀 2417·2019-08-29 16:06
閱讀 1291·2019-08-29 15:21
閱讀 3177·2019-08-29 12:39