¿Cuál es el mejor tutorial de JSP sobre cómo cargar un archivo en un servidor y una ruta en MySQL?

Sí, puedes hacerlo con la ayuda de JSP, Servlet y Mysql. para cargar la imagen en el servidor o en la carpeta use enctype = “multipart / form-data” upload.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"
pageEncoding = “ISO-8859-1″%>
<! DOCTYPE html PUBLIC "- // W3C // DTD HTML 4.01 Transitional // EN"
“http://www.w3.org/TR/html4/loose.dtd”>

Subir URL de imagen

Foto de retrato:

Luego, desde el lado del servidor, los datos del archivo cargado y la URL del archivo relevante

// declaración de importación

@WebServlet (“/ uploadServlet”)
@MultipartConfig (maxFileSize = 16177215) // sube el tamaño del archivo hasta 16MB
La clase pública FileUploadDBServlet extiende HttpServlet {

// configuración de conexión de base de datos
private String dbURL = “jdbc: mysql: // localhost: 5204 / Anand”; // MYSQL Path With DB Name
private String dbUser = “root”; // DB USerName
private String dbPass = “secret”; // DB Password

void protegido doPost (solicitud HttpServletRequest,
Respuesta HttpServletResponse) lanza la excepción ServletException, IOException {

InputStream inputStream = null; // flujo de entrada del archivo de carga

// obtiene la parte del archivo cargado en esta solicitud multiparte
Parte filePart = request.getPart (“photo”);
if (filePart! = null) {
// imprime algo de información para la depuración
System.out.println (filePart.getName ());
String filepath = filePart.getName (). ToString ();
inputStream = filePart.getInputStream ();

InputStream fileName = new FileInputStream (filePart);
Archivo de archivo = fileName.getPath ()

}

Conexión conn = null; // conexión a la base de datos
Mensaje de cadena = nulo; // el mensaje será enviado de vuelta al cliente

tratar {
// se conecta a la base de datos
DriverManager.registerDriver (new com.mysql.jdbc.Driver ());
conn = DriverManager.getConnection (dbURL, dbUser, dbPass);

// construye la sentencia SQL
String sql = “INSERT INTO contactos (foto), (ruta) valores (?,?)”;
Instrucción PreparedStatement = conn.prepareStatement (sql);

if (inputStream! = null) {
// obtiene el flujo de entrada del archivo de carga para la columna de blob
statement.setBlob (1, file); // Almacenar URL de archivo en DB
statement.setString (2, filepath);
}

// envía la declaración al servidor de base de datos
int row = statement.executeUpdate ();
si (fila> 0) {
message = “Archivo URL guardado en la base de datos”;
}
} catch (SQLException ex) {
message = “ERROR:” + ex.getMessage ();
ex.printStackTrace ();
} finalmente {
if (conn! = null) {
// cierra la conexión de la base de datos
tratar {
conn.close ();
} catch (SQLException ex) {
ex.printStackTrace ();
}
}

}
}
}

Feliz de ayudar

Esta es mi página jsp o html que tiene el controlador ng: –

placeholder = “Book Name” name = “bname” type = “text” autofocus>

En el controlador js: –

Esta es una directiva personalizada que analiza el archivo

app.directive (‘fileModel’, [‘$ parse’, function ($ parse) {

regreso {

restringir: ‘A’,

link: function (scope, element, attrs) {

var model = $ parse (attrs.fileModel);

var modelSetter = model.assign;

element.bind (‘cambio’, función () {

alcance. $ apply (función () {

modelSetter (alcance, elemento [0] .files [0]);

});

});

}

};

}]);

Después de que el controlador esté allí: –

var fd = nuevo FormData ();

fd.append (‘bname’, $ scope.bname);

fd.append (‘myFile’, $ scope.myFile);

$ http ({

método: ‘POST’,

url: ‘booksUpload’,

datos: fd,

transformRequest: angular.identity,

encabezados: {‘Tipo de contenido’: indefinido}

}). luego (función mySuccess (respuesta) {

$ scope.myWelcome = response.data;

$ scope.bname = ”;

$ scope.myFile = ”;

}

función myError (respuesta) {

$ scope.response = respuesta;

alerta (“error ->” + respuesta);

}

);

}

});

esta url envía este archivo al controlador mvc de spring:

En Spring mvc cómo acceder al archivo cuyo código se encuentra a continuación:

@RequestMapping (value = “/ booksUpload”, method = RequestMethod.POST)

public @ResponseBody List bookProcess (MultipartHttpServletRequest request, HttpServletRequest req) {

HttpSession session = req.getSession (false);

MultipartFile mf = request.getFile (“myFile”);

String saveDirectory = “// espacio de trabajo // AngularJsExample // OnlineLiberarySystem // src // main // webapp // fileUpload //”;

String bkName = request.getParameter (“bname”);

String userName = (String) session.getAttribute (“email”);

String fileName = mf.getOriginalFilename ();

if (! “”. equalsIgnoreCase (fileName)) {

tratar {

mf.transferTo (nuevo archivo (saveDirectory + fileName));

} catch (IllegalStateException e) {

e.printStackTrace ();

} captura (IOException e) {

e.printStackTrace ();

}

}

BooksDetails booksDetails = new BooksDetails ();

booksDetails.setBname (bkName);

booksDetails.setData (saveDirectory + fileName);

booksDetails.setUserName (userName);

bookService.persist (booksDetails);

devolver bookService.getAllBooks ();

}

eso es todo.