我正在尝试使用React前端和Java后端将某个文件下载到客户端。我的情况是:在前端,我显示了指向某些文件的ID列表。我想做的是,在前端,发送请求(带有ID)以下载该文件,然后后端必须使用该ID搜索该文件,然后将其发送到客户端才能下载。我对这件事还很陌生,所以我不知道该如何开始。

最佳答案

您还需要在前端和后端部分做一些工作。

前端

为每个项目创建一个下载链接,如下所示:

<a href='/download?id=1'>download</a>


后端

您需要创建一个内容下载servlet或REST API。
您可以以此为例,并根据需要修改代码:

@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(...);
        }
    }
}

关于java - 如何将Java后端发送的文件下载到React前端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60719968/

10-11 22:34
查看更多