spring實現wangeidtor中檔案上傳,自定義返回json結果
阿新 • • 發佈:2022-01-11
//獲取後端服務埠 @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; }