百度ue-第三篇(自定义上传)
经过前面两个博客
到现在,我们第一步
1.在页面中加入这玩意
<script type="text/javascript">
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
if (action == 'uploadimage' || action == 'uploadfile') {
return '/ueditor/ueUpload'; //此处改需要把图片上传到哪个(Controller)中
} else {
return this._bkGetActionUrl.call(this, action);
}
};
</script>
2.到后台处理
@RequestMapping("/ueUpload")
public void ueUploadImgaeOSS(HttpServletRequest request,HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest) request;
// 获得文件:
MultipartFile file =multipartRequest.getFile("upfile");//通过这个就能获取文件
xxxService.uploadFile(response, file);//这个玩意是处理
}
3.处理省略
4.注意了!!!返回的结果
public void resultUEMessage(HttpServletResponse response,String message, boolean status, String url,String title,String original) {
JSONObject jsobject = new JSONObject();
if (status) {
jsobject.put("state", message); // 注意了这个玩意就是显示在这玩意上的东西当“SUCCESS”,就会现在在这玩意的右下角的勾,必须为“SUCCESS”才会显示,你填入“失败”,就会有红框,然后失败
jsobject.put("url", url);// 注意了这个是你处理后返回的文件url,如果config.json如果你上传的是图片,它会自己拼接config.json中的imageUrlPrefix,例如你上传的url是“http://localhost:8080/sad”,imageUrlPrefix的值为“http://localhost:8080/a”,那么拼接的img是<img src="http://localhost:8080/ahttp://localhost:8080/sad" title="Chrysanthemum.jpg"/>
jsobject.put("title", title);
jsobject.put("original", original);
} else {
jsobject.put("state", message);
jsobject.put("url", "");
jsobject.put("title", "");
jsobject.put("original", "");
}
// ServletResponse response = getResponse();
response.setContentType("application/json;charset=utf-8");
try {
String outputStr = "";
if (jsobject != null) {
outputStr = jsobject.toString();
}
// ServletOutputStream对UTF-8的支持不好,此处用Writer
PrintWriter out = response.getWriter();
out.write(outputStr);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}