¿Cómo personalizar la ruta de los archivos cargados en ueditor? ¿Cómo personalizar la ruta de los archivos cargados en ueditor?
El código abierto se basa en la licencia BSD y todo el código fuente se puede modificar y utilizar libremente dentro del alcance de la licencia.
El lanzamiento de Baidu UEditor puede ayudar a muchos desarrolladores de sitios web a resolver los problemas encontrados al desarrollar editores de texto enriquecido, ahorrarles a los desarrolladores mucho tiempo necesario para desarrollar editores de texto enriquecidos y reducir efectivamente los costos de desarrollo de las empresas. . FireFox, Maxthon, Safari y Chrome
6. Mejor experiencia
7. Soporte continuo de un equipo de control de calidad profesional, que se ha aplicado a las principales líneas de productos de Baidu.
Pasos
1. Agregue la ubicación del paquete jar: jsp en la carpeta lib en el directorio raíz del archivo. Copie el paquete jar en web-inf en la carpeta lib en buildpath
2 Cambie la ruta URL en config.js a la ruta raíz correcta del complemento UEidtor en su proyecto
3. Introduzca el archivo de configuración config.js en el archivo jsp y luego introduzca el archivo de código fuente all.js. (Preste atención al orden)
4. Cargue el contenedor y cree una instancia del contenedor
1. Modifique la URL del archivo de configuración config.js al directorio raíz del complemento. generalmente una ruta absoluta.
2. Modifique el prefijo de la ruta de acceso en el elemento de configuración de carga de imagen de config.json al nombre del proyecto y modifique la ruta del archivo de carga y la ruta de acceso según corresponda.
Una vez que la configuración sea correcta, UEditor proporcionará una función de carga para ayudarnos a cargar imágenes.
Pero la ruta de carga estará en la carpeta temporal del proyecto implementado.
Después de que Tomcat cancele la implementación, los archivos cargados se eliminarán junto con los archivos de implementación del proyecto
3. Implemente la carga de imágenes en una ruta personalizada
Al procesar el nombre del archivo cargado, por favor. Tenga cuidado de no utilizar chino.
De lo contrario, aún necesitará realizar algún procesamiento para leer el archivo correctamente.
4. (1) Primero anule el método UEidtor para obtener la ruta en jsp
// anule el método UEditor para obtener la ruta
UE.Editor .prototype. _bkGetActionUrl = UE.Editor.prototype.prototype.getActionUrl = function(action) {
//La ruta determinada aquí es el nombre de la acción establecida en config.json para cargar
if (action == 'uploadimage') {
return 'mons.CommonsMultipartResolver">
Definir métodos para cargar y leer archivos en el controlador
/**
* SpringMVC usa MultipartFile para cargar archivos
* Aquí usamos @RequestParam() para especificar que el archivo cargado es MultipartFile
* @throws IOException
*/
@RequestMapping("uploadImage")
@ResponseBody // Aquí upfile es el nombre del formulario de envío de imágenes en la configuración.
public Map
//Nombre original del archivo
String fileName=upfile.getOriginalFilename();
/// Para evitar procesos simples repetidos
String nowName=new Date().getTime()+"_" + fileName;
if(!upfile.isEmpty()){
//Subir ruta de ubicación
String path0 = "D:\\\ eclipseworkspace\\ \\maven-web\\src\\main\\\\webapp\\upload\\"+nowName;
/Nuevo archivo según ruta
Archivo newFile = nuevo archivo (ruta0);
/Copy
FileCopyUtils.copy(upimage.getBytes(), newFile);
}
Devolver resultados Información (requerida por UEditor)
Map
//Si la carga se realizó correctamente
mapa.
put("estado", "SUCCESS");
/now nombre de archivo
map.put("title", nowName);
//Archivo nombre original
map.put("original", fileName);
//Tipo de archivo .+ sufijo
map.put("type", fileName .substring(upfile.getOriginalFilename().lastIndexOf(".")) );
/Ruta del archivo
map.put("url", "...");
/File type.put("url", "/"+nowName+"/getImage.do");
//Tamaño del archivo en bytes
map.put("size", upfile.getSize()+"");
devolver mapa;
}
/**
* Leer archivo
**
@RequestMapping("{imgName}/getImage")
public void readImg(@ PathVariable("imgName " ) String imgName, respuesta HttpServletResponse)
throws Exception {
// Establece el tipo de retorno del archivo
response.setContentType("image/*")
/Ruta del archivo ((\\) en Windows, //(\\) en Linux, ambas deben ser rutas absolutas)
String imgPath=" D:+imgName;
/Clase de archivo en java para representar un archivo
Imagen de archivo = new File(imgPath);
/Prueba si esta ruta de archivo existe (es decir, si este archivo existe)
if (!image.exists()) {
return;
}
//FileUtils. readFileToByteArray(File file) Convierte el archivo en una matriz de bytes y lo devuelve
response.getOutputStream().write(FileUtils.readFileToByteArray(image));
/ / Cuando se usa Java una secuencia, tendrá un búfer y enviará datos de acuerdo con un método que crea que es más eficiente:
//Envía los datos al búfer y luego los envía todos a la vez cuando el búfer esté lleno. Cuando el búfer está lleno, envía los datos todos a la vez en lugar de enviarlos por separado.
// Flush() significa forzar el envío de los datos del búfer sin esperar hasta que el búfer esté lleno.
response.getOutputStream().flush();
response.getOutputStream().close()
}