圖片上傳:
這段是contorller代碼
@RequestMapping(value = "/uploadImg", method = RequestMethod.POST) @ResponseBody public String uploadImg( @RequestParam("upfile") MultipartFile fileName) { String url = ""; try { // 接收上傳的文件 // 取擴展名 String originalFilename = fileName.getOriginalFilename(); String extName = originalFilename.substring(originalFilename .lastIndexOf(".") + 1); // 上傳到圖片服務器 FastDFSClient fastDFSClient = new FastDFSClient( "classpath:resource/client.conf"); url = fastDFSClient.uploadFile(fileName.getBytes(), extName); // url = IMAGE_SERVER_URL + url; System.out.println(url); // 響應上傳圖片的url } catch (Exception e) { e.printStackTrace(); } Map<String, Object> result = new HashMap<String, Object>(); result.put("name", fileName.getOriginalFilename());// 新的文件名 result.put("originalName", fileName.getOriginalFilename());// 原始文件名 result.put("size", fileName.getSize()); result.put("state", "SUCCESS"); result.put("url", url);// 展示圖片的請求url String jStr = JSON.toJSONString(result); return jStr; // return "redirect:/page/uploadImg.htm"; }
Ueditor前端:
1 UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl; 2 UE.Editor.prototype.getActionUrl = function(action) { 3 if (action == 'uploadimage' || action == 'uploadscrawl' 4 || action == 'uploadimage') { 5 return 'http://localhost:8080/ljquery/uploadImg.htm';/*自定義上傳action*/ 6 } else if (action == 'uploadvideo') { 7 return 'http://localhost:8080/ljquery/upload.jsp'; 8 } else { 9 return this._bkGetActionUrl.call(this, action); 10 } 11 }
圖片顯示:
1,config.jon配置:
修改:"imageUrlPrefix": "http://ip:port/", /* 圖片訪問路徑前綴 */
2,可以從上面的controller中看出,返回的是String類型,並且圖片顯示的整個路徑就是imageUrlPrefix+controller中的url
吐槽一下:
對於圖片回顯問題,整整困擾了我三個小時,真TM有點坑。從網上搜索的解決方式都無法執行,最后還是突發奇想的將result轉化成json類型才解決這個問題。
這里算做個筆記吧