圖片上傳:
這段是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類型才解決這個問題。
這里算做個筆記吧
