Aquí registro una imagen de archivo de carga Java simple y conveniente en el servidor y la guardo. El contenido específico es el siguiente
En primer lugar, estoy enviando un archivo y escribo
<div style = "border: 1px sólido rojo;"> Agregué una imagen temporal para obtener el Media_ID en WeChat para guardar la base de datos. <form de acción = "xxxxxxxxxm" enctype = "multipart/form-data" método = "post"> <div style = "display: none;"> <input type = "text" value = "imagen" name = "type"/> </div> cargar la imagen: <input type = "archivo" nombre "nombre =" archivo "onchange =" vista previa (este, 'prvid') type = "Subt" Value = "Subt"/> </form> <div id = "prvid"> contenedor de vista previa </div> </div>
Vista previa de imagen JS
Function PreviewImage (archivo, prvid) { /* archivo: control de archivo* prvid: imagen previa contenedor* / var tip = "Espere jpg o png o gif!"; // Configuración del mensaje de solicitud var filtros = {"jpeg": "/9j/4", "gif": "r0lgod", "png": "ivborw"} var prvBox = document.getElementById (prvid); prvbox.innerhtml = ""; if (window.filereader) {// html5 esquema para (var i = 0, f; f = file.files [i]; i ++) {var fr = new FileReader (); FR.Onload = function (e) {var src = e.target.result; if (! validateImg (src)) {alert (tip)} else {showPrVIMG (src); }} fr.readasdataurl (f); }} else {// Procesamiento de degradación if (! //. jpg $ | /.png$ | /.gif$/i.test (file.value)) {alert (tip); } else {showPrVIMG (file.Value); }} function validateImg (data) {var pos = data.IndexOf (",") + 1; for (var e en filtros) {if (data.IndexOf (filtros [e]) === pos) {return e; }} return null; } función showPrVIMG (src) {var img = document.createElement ("img"); img.src = src; prvbox.appendChild (IMG); }} Entonces es el fondo
@RequestMapping (params = "método = addcircle") public String addcircle (httpservletResponse respuesta, solicitud httpservletrequest) lanza ioexception {request.setcharacterEncoding ("UTF-8"); respuesta.setContentType ("text/html; charset = utf-8"); String path = request.getSession (). GetServletContext (). GetRealPath ("/backstageshoppingwebSite/images/addcircleiMage"); // Guardar direcciones del servidor map <string> map = upload .upload (solicitud, 1024 * 10, ruta); String file = map.get ("archivo"); // nombre de cadena imagen = map.get ("type"); // String de imagen NewFile = map.get ("NewFile"); // Dirección return null; } Bien, el enfoque ahora está en la clase de carga. Esta clase está básicamente encapsulada. Puede tomar y modificar las cosas que necesita agregar. Entonces esta clase usa el paquete cos.jar.
paquete com.web.weixin.bean; import java.io.file; import java.io.ioException; import java.util.date; import java.util.hashmap; import java.util.map; import javax.servlet.http.httpservletRequest; import com.oreilly.servlet.multipart.filepart; import com.oreilly.servlet.multipart.multipartparser; import com.oreilly.servlet.multipart.Parambart; import com.oreilly.servlet.multipart.part; Public Class Subload {public static map <String, String> upload (httpservletRequest request, int maxSize, string ruta) {// Guardar datos en forma de mapa, correspondiente al valor de nombre de nombre en la interfaz Obtener, guardar el valor correspondiente al nombre en la interfaz, map <string, string> map = new Hashmap <String, cadena> (); Parte parte = nulo; intente {multipartparser mrequest = new MultipartParser (request, maxSize); mrequest.setEncoding ("UTF-8"); // Transfunde todos los grupos de parte mientras ((parte = mrequest.readNextPart ())! = Null) {if (parte {// Obtenga la cadena de extensión FileExTName = FileName.Substring (FileName.lastIndexOf (".") + 1) .tolowerCase (); // cargar solo la imagen // Determinar si el formato de la carga de imagen cumple con el nombre del sufijo es válido si (fileextName.equalSignorEcase ("jpeg") || filejextName.equalSignorEcase ("png") || filejextName.equalSignorEcase ("jpg") || filejextName.equalSignRoCase ("geeSeSigneCase) FileExtName.equalsignReCase ("GIF") || FileExtName.equalSignorEcase ("mp3")) { /*string newFileName = new Date (). GetTime () + "." + FileExTname; // Nombre del archivo de reinicio de cambio Nombre del archivo + Extensión*/String NewFileName = New Date (). GetTime () + FileName; // No cambie el nombre de imagen String Newpath = Path + "/" + NewFileName; // FileProcessing Path Archue Subload newfile = nuevo archivo (NewPath); FilePart.WriteTo (Newfile); // Real escriba el archivo en la carpeta correspondiente // filePart.getName () Obtenga el nombre del parámetro que se recibirá mediante solicitud MAP.put (filePart.getName (), newFileName); // Guardar la información del archivo en map.put ("newfile", newFile.ToString ()); } else {map.put ("geshi", "geshi"); continuar; } // Significa que la carga no es una imagen} else {map.put ("sí", "sí"); continuar; // Significa que la imagen cargada no es una imagen}} else if (parte.isparam ()) {// juzga si es una parte paramparart paramparart = (paramtar); MAP.PUT (parammarart.getName (), parammarart.getStringValue ()); }}} Catch (ioException e) {E.PrintStackTrace (); } mapa de retorno; }}Descargue el paquete cos.jar, haga clic para abrir el enlace
Este artículo se ha compilado en "Resumen de las técnicas de operación de carga Java", y todos son bienvenidos a aprender y leer.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.