fck上传图片,分为以下几步
1.前端配置
首先引入fck的js文件
<script src="/res/common/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="/res/fckeditor/fckeditor.js"></script>
然后做如下配置
var fck = new FCKeditor("productdesc"); //被转化的文本域textarea的id
fck.BasePath = "/res/fckeditor/"; //设置基础路径
fck.Height = 400 ; //设置fck高度
fck.Config["ImageUploadURL"] = "/upload/uploadFck.do"; //设置图片上传的url
fck.ReplaceTextarea(); //将文本域textarea转化为fck编辑器
2.图片上传的服务器端代码,用到了jersey上传文件
//通用fck图片上传
@RequestMapping(value = "/uploadFck.do",method = RequestMethod.POST)
private void uploadFck(HttpServletRequest request,HttpServletResponse response) {
//把request强转为MultipartRequest,支持上传多个图片
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); //获取所有的大文本文件
for (String key : fileMap.keySet()) {
MultipartFile pic = fileMap.get(key); //得到其中的一个大文本文件
Client client = new Client();
String extendName = FilenameUtils.getExtension(pic.getOriginalFilename());//获取扩展名
String path = "upload/"+CommonUtils.getId()+"."+extendName;//保存数据库
String url = Constants.IMAGE_URL + path;
WebResource resource = client.resource(url);
try {
resource.put(String.class, pic.getBytes());
} catch (IOException e) {
throw new RuntimeException(e);
}
//返回url给fck,使用fck jar包,叫做java-core
UploadResponse ok = UploadResponse.getOK(url);
try {
response.getWriter().print(ok); //返回给fck解析url路径显示
} catch (IOException e) {
e.printStackTrace();
}
}
}