js部分
<script type="text/javascript">
var E = window.wangEditor
var editor = new E('#editor');
editor.customConfig.uploadImgServer = root + "fileLssue/upload1.do"; //上传URL
editor.customConfig.uploadFileName = 'myFileName';
editor.customConfig.uploadImgHooks = {
customInsert: function (insertImg, result, editor) {
// 图片上传并返回结果,自定义插入图片的事件(而不是编辑器自动插入图片!!!)
// insertImg 是插入图片的函数,editor 是编辑器对象,result 是服务器端返回的结果
debugger;
// 举例:假如上传图片成功后,服务器端返回的是 {url:'....'} 这种格式,即可这样插入图片:
var url =result.data;
insertImg(url);
// result 必须是一个 JSON 格式字符串!!!否则报错
}
}
editor.create();
</script>
java后台代码
/**
* 文件上传
* @param
* @return
* @throws IOException
*/
@ResponseBody
@RequestMapping(value = "upload1.do")
public Result upload2 (@RequestParam(value="myFileName") MultipartFile file) throws IOException {
//MultipartFile 转换成文件
String fileName=file.getOriginalFilename();
//获取到项目路径
String savePath = new File("").getCanonicalPath();
if(file.getSize()>0) {
try {
String path = SaveFileFromInputStream(file.getInputStream(), savePath, fileName);
Map<String,Object> map = new HashMap<String,Object>();
map.put("imgUrl",path);
return new Result(map);
} catch (IOException e) {
e.printStackTrace();
return new Result(null);
}
}else{
return new Result(null);
}
}
/**保存的
* @param stream
* @param savePath
* @param filename
* @return
* @throws IOException
*/
public String SaveFileFromInputStream(InputStream stream,String savePath,String filename) throws IOException {
//初始化日期格式
SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmssSSS");
//以当前日期作加下划线加旧的文件名作为上传文件保存的名称
String newFileName = sd.format(new Date()) + "_" + filename;
String savePathAndFileName = savePath + "/"+ newFileName;
FileOutputStream fs=new FileOutputStream(savePathAndFileName);
byte[] buffer =new byte[1024*1024];
int bytesum = 0;
int byteread = 0;
while ((byteread=stream.read(buffer))!=-1)
{
bytesum+=byteread;
fs.write(buffer,0,byteread);
fs.flush();
}
fs.close();
stream.close();
return savePathAndFileName;
}