kinde插入图片不能成功
在使用KindEditor插入图片时,后台代码已经跑完,并且存入了图片,前台的响应函数为
{"error":0,"url":"C:\Users\Administrator\AppData\Local\Temp\undertow-docbase.3362464044657997.808\WEB-INF\picture"}
但是一直是这样转圈不能正确加载页面怎么解决
这是后台和前台的代码
后台:
package com.sgcc.uap.inform.controller;
import java.io.File;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.sgcc.uap.commons.BaseController;
/***
* 富文本图片上传处理
*
* @author Administrator
*
*/
@Controller
@RequestMapping("/keuc")
public class KindEditorUploadController extends BaseController {
@SuppressWarnings("unchecked")
@RequestMapping(value = "/uploadImg", produces = "text/html;charset=UTF-8")
// @ResponseBody
public void fileUpload(@RequestParam(value = "imgFile", required = false) MultipartFile file,
HttpServletRequest request, HttpServletResponse response) throws Exception {
PrintWriter out = response.getWriter();
// 获取图片名称
String pictureName = file.getOriginalFilename();
// 获取扩展名
String extension = pictureName.substring(pictureName.lastIndexOf("."));
// 新的图片名
String savedFileName = java.util.UUID.randomUUID().toString().replace("-", "") + extension;
// 获取图片保存目录 没有则创建
File folder = new File(request.getSession().getServletContext().getRealPath(""), "WEB-INF");
if (!folder.exists() && !folder.isDirectory()) {
folder.mkdir();
File folders = new File(request.getSession().getServletContext().getRealPath("WEB-INF"),"picture");
if (!folders.exists() && !folders.isDirectory()) {
folders.mkdir();
}
}
String folderPath = request.getSession().getServletContext().getRealPath("/WEB-INF/picture");
File savedFile = new File(folderPath, savedFileName);
// 保存文件
file.transferTo(savedFile);
logger.info("上传图片:" + savedFileName + " 成功;路径为:" + folderPath);
JSONObject obj = new JSONObject();
obj.put("error", 0);
obj.put("url", folderPath+"\\"+savedFileName);
out.println(obj.toJSONString());
}
@SuppressWarnings({ "unchecked", "unused" })
private String getError(String message) {
JSONObject obj = new JSONObject();
obj.put("error", 1);
obj.put("message", message);
return obj.toString();
}
}
前台:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/commons/global.jsp" %>
<script language='javascript' id='$config$' src="conf/config.js"></script>
<!-- KindEditor -->
<link rel="stylesheet" href="<%=request.getContextPath() %>/static/kindeditor/themes/default/default.css" />
<link rel="stylesheet" href="<%=request.getContextPath() %>/static/kindeditor/plugins/code/prettify.css" />
<script src="<%=request.getContextPath() %>/static/kindeditor/plugins/code/prettify.js"></script>
<script src="<%=request.getContextPath() %>/static/kindeditor/kindeditor.js"></script>
<script src="<%=request.getContextPath() %>/static/kindeditor/kindeditor-all.js"></script>
<script src="<%=request.getContextPath() %>/static/kindeditor/kindeditor-all-min.js"></script>
<script charset="utf-8" src="<%=request.getContextPath() %>/static/kindeditor/kindeditor-min.js"></script>
<script charset="utf-8" src="<%=request.getContextPath() %>/static/kindeditor/lang/zh_CN.js"></script>
<script type="text/javascript">
$(function() {
$('#informForm').form({
url : Constant.gatewayURL + '/inform/add',
onSubmit : function() {
progressLoad();
var isValid = $(this).form('validate');
if (!isValid) {
progressClose();
return false;
}
var informValue = $.serializeObject($('#informForm'))
$.ajax({
type:"post",
url : Constant.gatewayURL + '/inform/add',
data:informValue,
dataType:"json",
success : function(data) {
progressClose();
parent.$.messager.alert('消息', data.msg, 'info');
parent.$.modalDialog.dataGrid.datagrid('reload');
parent.$.modalDialog.handler.dialog('close');
// return;
}
});
return false;
},
success : function(result) {
// progressClose();
// // parent.$.messager.alert('消息', '添加成功', 'info');
// parent.$.modalDialog.dataGrid.datagrid('reload');
// parent.$.modalDialog.handler.dialog('close');
}
});
kedit("kindeditor");
});
$.extend($.fn.validatebox.defaults.rules, {
yzTitle: {
validator: function(value, param){
var reg =/^\S{2,32}$/;
return reg.test(value);
},
message: '请输入2-32位(不能含有空格)!'
},
yzName: {
validator: function(value, param){
var reg =/^[\u4e00-\u9fa5]{2,8}$/;
return reg.test(value);
},
message: '请输入2-8位汉字(不能含有空格)!'
} ,
yzContent: {
validator: function(value, param){
var reg =/^[\s\S]{2,65535}$/;
return reg.test(value);
},
message: '输入范围2-65535位!'
}
});
var editor;
function kedit(keid){
editor = KindEditor.create('textarea[name="informContent"]',{
uploadJson:Constant.gatewayURL + '/keuc/uploadImg',
formatUploadUrl:false,
allowImageUpload : true,
//urlType:"absolute",
resizeType : 1,
width:"100%",
height:"350px",
//设置编辑器创建后执行的回调函数
afterUpload : function(url, data, name) {
alert(url);
}, afterCreate: function () {
this.sync();
}, afterBlur:function(){
this.sync();
}
});
}
//验证时间
function addinformTime() {
//不大于当天日期
var addnewInttime= new Date().getTime();//当前时间戳
var addstIntime = new Date($("input[name='endRelTime']").val()).getTime();//输入框开始时间戳
if(addstIntime<addnewInttime) {
$.messager.alert('提示',"有效时间必须大于当前时间");
$('#endRelTime').datebox('setValue', '').datebox('');
}
}
</script>
<div id="rr" style="width:650px;" class="easyui-resizable" data-options="fit:true,border:false">
<div data-options="region:'center',border:false" title="" style="overflow: hidden;padding: 3px;">
<form id="informForm" name="example" method="post">
<table class="grid">
<tr>
<td style="width:80px;">公告标题:</td>
<td>
<input style="width:541px;" id="informTit" name="informTitle" type="text" class="easyui-textbox" data-options="required:true,validType:'yzTitle'">
</td>
</tr>
<tr>
<td>发布人:</td>
<td>
<input name="relName" value="张三" type="hidden" >
<input name="relDeptNamu" value="财务部" type="hidden" >
<input name="relUserId" value="1" type="hidden" >
<input name="relDeptId" value="2" type="hidden" >
<span>张三   财务部</span>
</td>
</tr>
<tr>
<td>可查看部门:</td>
<td>
<select name="identifying" class="easyui-combobox" style="width:541px; height: 22px" data-options="editable:false,panelHeight:'auto'">
<option selected="selected" value="alone">本部门</option>
<option value="all">全部</option>
</select>
</td>
</tr>
<tr>
<td>有效时间:</td>
<td>
<input id="endRelTime" name="endRelTime" class="easyui-datebox" style="width:541px; height: 22px" data-options="required:true,validType:'',editable:false,onSelect:addinformTime"/>
</td>
</tr>
<tr>
<td>公告内容:</td>
<td>
<textarea rows="3" id="v_content" name="informContent" class="easyui-validatebox" data-options="required:true,validType:'yzContent'"></textarea>
<!-- <input type="text" id="informContent" class="easyui-textbox" name="informContent" data-options="required:true,validType:'yzContent'"/> -->
</td>
</tr>
</table>
</form>
</div>
</div>
kinde插入图片不能成功相关推荐
- 解决 Java poi 3.8 等版本 操作 word 插入 图片 不成功的问题
解决 Java poi 3.8等版本操作word插入图片不成功的问题 问题: 最近有一个需求是将Excel中的数据转换到word中,其中包括了文字和图片, 在使用 poi 3.8 向word中写入图片 ...
- HTML插入在线图片不成功?
前言:使用img src时,插入在线图片,无法显示, 原因:没有设置meta 方法两种: <meta name="referrer" content="no-ref ...
- 写CSDN插入图片一直无法显示?
有可能是浏览器的问题,chrom和Edge图片加载不出来,下载了一个firefox浏览器写CSDN插入图片就成功了
- 成功解决wps文档的论文中插入图片时只显示一半图片(两步教程完美搞定!)
成功解决wps文档的论文中插入图片时只显示一半图片(两步教程完美搞定!) 目录 解决问题 解决思路 解决方法 解决问题 解决wps文档的论文中插入图片时只显示一半图片,如图所示, 解决
- word插入图片不能打印出来,转成PDF后才能打印成功
环景: word365 WPS windows 10专业版 问题描述: word插入图片不能直接打印,打印发送文件秒结束,没有任何提示,换个wps打印也是一样 原因分析: word格式估计有问题 解决 ...
- 如何在notebook中的markdown中插入截取的图片_96编辑器教你如何在文章中插入图片、视频、音频!...
一.如何插入图片 注意事项: 1.上传的每张图片大小请勿超过2M.如果文章内需要插入数量较多的图片,请先压缩每张图片至100kb左右,如果文章内插入较多的大图片可能会造成同步慢.生成不了图片,文章页面 ...
- 打开Excel文件并插入图片
近来在一直研究导出Excel的东东,整的我晕头转向,项目中需要把表格数据和图片同时导入到一个Excel文件里,然后保存在本地.如果是简单的表头是很容易导出的,由于表头包含复杂的,就需要通过xml形式解 ...
- 装饰博客全攻略(如何在博客首页或博客中插入图片、音乐、视频等)
一.在博客中插入图片. 以下是代码: <img src="http://图片地址" border="0" width="344" he ...
- Java 对Oracle数据库中的 BLOB类型 插入图片
2019独角兽企业重金招聘Python工程师标准>>> package test;import java.io.BufferedInputStream; import java.io ...
最新文章
- 你需要知道的requestAnimationFrame
- android 自定义扫地机器人地图,扫地机如何正确操作进行APP建图?
- Windows下用C语言获取进程cpu使用率,内存使用,IO情况
- 谈谈你对面向过程与面向对象的理解
- MapReduce 计数器简介
- C#是面向对象编程语言
- android进程调试(ro.debuggable=1或android:debuggable=true)----JDWP线程
- 前端,校招,面淘宝,指南
- 第一个Python程序——博客自动访问脚本
- 我的世界基岩版json_Minecraft 基岩版 Ubuntu服务器搭建(三)
- 脚本制作Minilinux
- POJ3991 HDU3351 UVALive4733 Seinfeld【水题】
- 【codevs1163】访问艺术馆
- 38.线程交换与线程移动
- CodeForces - 816A Karen and Morning 解题
- Vulkan Loader 何时加载 ICD 驱动文件
- 计算机存储程序控制工作原理教案,计算机的存储程序工作原理是什么
- qcloud php开发,GitHub - QcloudApi/qcloudapi-sdk-php
- h61 nvme硬盘_移动硬盘怎么选?看完这篇不踩坑
- 关于TP-Link和水星、迅捷三角关系的传闻~~