Estoy intentando descargar un determinado archivo a un cliente mediante un Reaccionar frontend y backend de Java. Mi situación es la siguiente: en el frontend que estoy mostrando una lista de ID que apuntan a ciertos archivos. Lo que quiero hacer es, en el frontend, enviar la solicitud (con el id) para descargar el archivo y entonces el servidor debe buscar ese archivo a un determinado código y enviarlo al cliente con el fin de ser descargado. Soy bastante nuevo en esto las cosas, así que no sé exactamente cómo empezar.
Usted necesita algún trabajo en frontend y backend parte también.
Interfaz
Crear un enlace de descarga para cada elemento, así:
<a href='/download?id=1'>download</a>
backend
Es necesario crear un servlet de descarga de contenidos o la API REST. Usted puede utilizar esto como un ejemplo y modificar el código como sea necesario:
@WebServlet("/download")
public class DownloadServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Srting id = request.getParameter("id");
resp.setContentType("text/plain");
resp.setHeader("Content-disposition", "attachment; filename=sample.txt");
try (OutputStream out = resp.getOutputStream()) {
// search for data in your database
out.write(...);
}
}
}