1. 程式人生 > 其它 >spring實現wangeidtor中檔案上傳,自定義返回json結果

spring實現wangeidtor中檔案上傳,自定義返回json結果

     //獲取後端服務埠
    @Value("${server.port}")
    private String port;
    //獲取後端服務IP
    @Value("${file.ip}")
    private String ip;
 
 /**
   * 富文字檔案上傳介面
   * @param file
   * @return
   * @throws IOException
   */
  @CrossOrigin //解決跨域
  @PostMapping("/editor/upload")
  public JSONObject editorUpload(MultipartFile file) throws IOException {
      String originalFilename = file.getOriginalFilename(); //獲取原始檔的檔名稱
      //定義檔案的唯一標識(字首)
      String flag = IdUtil.fastSimpleUUID();
      //獲取當前專案的目錄  + files所在路徑 + 檔名稱
      String rootFilePath = System.getProperty("user.dir")+"/springboot/src/main/resources/files/"+flag+"_" + originalFilename; //獲取上傳的路徑
      File saveFile = new File(rootFilePath);
      if(!saveFile.getParentFile().exists()){
          //如果資料夾目錄不存在,則需要建立一個新的資料夾
          saveFile.getParentFile().mkdirs();
      }
      //前端獲取的位元組流寫入
      FileUtil.writeBytes(file.getBytes(),rootFilePath); //把檔案寫入到上傳的路徑
      String url = saveFile.getPath(); Result.success("http://"+ip+":"+port+"/files/"+flag); //返回結果url

      //返回特定的json字串格式
/*
      {
          // errno 即錯誤程式碼,0 表示沒有錯誤。
          //       如果有錯誤,errno != 0,可通過下文中的監聽函式 fail 拿到該錯誤碼進行自定義處理
          "errno": 0,
              // data 是一個數組,返回圖片Object,Object中包含需要包含url、alt和href三個屬性,它們分別代表圖片地址、圖片文字說明和跳轉連結,alt和href屬性是可選的,可以不設定或設定為空字串,需要注意的是url是一定要填的。
              "data": [
          {
              url: "圖片地址",
          },
  ]
      }*/
      //返回特定的json字串格式
      //定義一個json的物件
      JSONObject json = new JSONObject();
      json.set("errno",0);
      //定義一個arr空陣列物件:用於存放data陣列
      JSONArray arr =new JSONArray();
      //定義一個data陣列中的物件
      JSONObject data =new JSONObject();
      arr.add(data); //存放data陣列
      data.set("url",url);//設定陣列的物件元素
      json.set("data",arr);//把陣列放入最外層的物件
      return json;

  }