国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Ueditor與SpringMVC整合

lbool / 1253人閱讀

摘要:目的本文旨在整合百度前端富文本與,使用作為的后端,提供上傳圖片等后臺相關的功能,即使用替換官方提供的后臺方式。

目的

本文旨在整合百度前端富文本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 Map uploadImage(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

相關文章

  • UeditorSpringMVC整合

    摘要:目的本文旨在整合百度前端富文本與,使用作為的后端,提供上傳圖片等后臺相關的功能,即使用替換官方提供的后臺方式。 目的 本文旨在整合百度前端富文本Ueditor與SpringMVC,使用Spring Controller作為Ueditor的后端,提供上傳圖片等后臺相關的功能,即使用SpringMVC替換官方提供的JSP后臺方式。 步驟 創建web工程,本文以maven進行創建和管理,最...

    linkin 評論0 收藏0
  • ueditor筆記

    摘要:下載完后的包三將集成到項目第一步新建一個項目,并把引入到項目中。項目中配置其它上傳其它上傳如視頻上傳等等參考圖片上傳,修改即可。一、ueditor是什么 UEditor 是由百度「FEX前端研發團隊」開發的所見即所得富文本web編輯器,具有輕量,可定制,注重用戶體驗等特點,開源基于MIT協議,允許自由使用和修改代碼。 二、ueditor的下載 下載網址:https://ueditor.ba...

    番茄西紅柿 評論0 收藏0
  • Java3y文章目錄導航

    摘要:前言由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 前言 由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導航哦~想要獲取最新原創的技術文章歡迎關注我的公眾號:Java3y Java3y文章目錄導航 Java基礎 泛型就這么簡單 注解就這么簡單 Druid數據庫連接池...

    KevinYan 評論0 收藏0
  • mybatis和springMVC整合及其中的問題

    摘要:的整合大致結構中放置的配置文件,由于這個例子很簡單,所以配置得比較簡單。在與的整合中,在這里不用配置,因為在整合包中有的掃描類。中配置的是和整合的配置。其中包括數據源數據池的配置的配置掃描器的配置還有事務的配置。所以將改了就解決問題了 1. springMVC+spring+mybatis的整合大致結構: showImg(https://segmentfault.com/img/bVb...

    EscapedDog 評論0 收藏0
  • Java后端

    摘要:,面向切面編程,中最主要的是用于事務方面的使用。目標達成后還會有去構建微服務,希望大家多多支持。原文地址手把手教程優雅的應用四手把手實現后端搭建第四期 SpringMVC 干貨系列:從零搭建 SpringMVC+mybatis(四):Spring 兩大核心之 AOP 學習 | 掘金技術征文 原本地址:SpringMVC 干貨系列:從零搭建 SpringMVC+mybatis(四):Sp...

    joyvw 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<