Red de conocimiento informático - Aprendizaje de programación - Después de integrar kindeditor con php, ¿qué debo hacer si el botón de carga de imagen cargado dinámicamente no funciona? No se puede vincular el evento de clic

Después de integrar kindeditor con php, ¿qué debo hacer si el botón de carga de imagen cargado dinámicamente no funciona? No se puede vincular el evento de clic

Hola, esto es así:

Paso 1: Introduce los siguientes archivos en la página de la plantilla html:

lt link rel="stylesheet" href="/data/editor/ complementos /code/prettify.css" /gt;

lt. script charset="utf-8" src="/data/editor/kindeditor.js"gt;lt;/scriptgt;

lt;script charset="utf-8" src="/data/editor/lang/zh_ CN.js"gt;

lt;script charset="utf-8" src= " /data/editor/lang/zh_ CN.js"gt;lt;/scriptgt;

lt;script charset="utf-8" src="/data/editor/plugins/code/prettify . js"gt;lt;/scriptgt;

lt.scriptgt;

KindEditor.ready(function(K) {

var editor1 = K.create ( 'textarea[name="content"]', {

cssPath: '/data/editor/plugins/code/prettify.css',

uploadJson: '/Home/ Common /upload', // dirección de la imagen que se procesará después de la carga

}

PrettyPrint()

}); >

lt;/scriptgt;

Ruta Según su propio proyecto, la introducción correcta puede ser uploadJson:

"/Home/Common/upload",

uploadJson va seguido de la dirección de procesamiento de las imágenes cargadas por el editor, que usted mismo puede configurar

Esta es la dirección de carga del grupo Inicio

Esta es la cargar la dirección del grupo de inicio.

Aquí, el método de carga del controlador común en el grupo Inicio maneja la carga de imágenes

Paso 2: personalizar el controlador de carga

función upload(){

header("Content-Type: text/html; charset=utf-");

El encabezado es un controlador de carga personalizado.

8");

import('ORG.Net.UploadFile');

$upload = nuevo UploadFile();

$upload-gt; maxSize = 3145728;

$upload-gt;; enableExts = array('jpg', 'gif', 'png', 'jpeg');

$upload-gt; =verdadero;

$upload-gt; subType='fecha';

$upload-gt.dateFormat='Ym'; ;savePath = './upload/article/';

if(!$upload-gt;upload()){

$error['error']=1;

$error['message']=$upload-gt; getErrorMsg();

exit(json_encode($error))

}

$info=$upload-gt;getUploadFileInfo();

/* Procesamiento de marca de agua de imagen

import('ORG.Util.Image');

$image = nueva Imagen();

$image-gt;water($upload-gt;savePath.$info[0]['savename'], './data/water. png'); */

$data=array(

'url'=gt; str_replace('. /', '/', $upload-gt; savePath). $info[0]['savename'],

'error'=gt; 0

exit(json_encode($data));

}

La clase de carga de ThinkPHP se utiliza aquí para manejar la carga de imágenes. También puede escribirla usted mismo. Lo único a lo que debe prestar atención es al formato de devolución.

Ver la documentación oficial:

La carga devolverá correctamente esta cadena JSON

{

"error": 0,

"url":

"/path/to/file.ext"

}

La carga no pudo devolver esta cadena JSON

{

"error": 1,

"mensaje":

"Mensaje de error"

}

Hay una cosa que necesita atención especial Sí, el error debe devolverse en forma de un número entero 1 o 0, en lugar de una cadena de "1" o "0"

La razón es que el resultado del juicio de plugins/image/image.js es

"url":

El resultado de "/path/to/file.js" es

constantemente igual a ===

(comenzando con self. Es porque el lado PHP devuelve '0' en forma de cadena, que no es igual al número entero 0, lo que provoca un error en el pop- ventana arriba después de la carga).