文件上传:

  1. 创建一个HTML表单,包含一个文件选择器和一个提交按钮。
<form action="upload.jsp" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传">
</form>
  1. 在服务器端处理上传的文件。可以使用Apache Commons FileUpload库来处理文件上传。以下是一个示例代码:
// 创建一个文件上传处理器
ServletFileUpload upload = new ServletFileUpload();

// 解析上传请求
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
    FileItemStream item = iter.next();
    String name = item.getFieldName();
    InputStream stream = item.openStream();
    if (item.isFormField()) {
        // 处理表单域
        String value = Streams.asString(stream);
        // ...
    } else {
        // 处理上传的文件
        String filename = item.getName();
        // ...
    }
}
  1. 将上传的文件保存到服务器本地。可以使用Java IO库来保存文件。
// 创建一个文件输出流
FileOutputStream out = new FileOutputStream(new File("/path/to/file"));

// 将上传的文件写入输出流
byte[] buffer = new byte[1024];
int len;
while ((len = stream.read(buffer)) > 0) {
    out.write(buffer, 0, len);
}

// 关闭输出流
out.close();

文件下载:

  1. 在服务器端,创建一个Servlet来处理文件下载请求。
@WebServlet("/download")
public class DownloadServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 获取要下载的文件名
        String filename = request.getParameter("filename");

        // 设置响应的内容类型
        response.setContentType("application/octet-stream");
        response.setHeader("Content-Disposition", "attachment;filename=" + filename);

        // 获取要下载的文件的输入流
        InputStream in = getServletContext().getResourceAsStream("/path/to/file/" + filename);

        // 获取响应的输出流
        OutputStream out = response.getOutputStream();

        // 将文件复制到输出流
        byte[] buffer = new byte[1024];
        int len;
        while ((len = in.read(buffer)) > 0) {
            out.write(buffer, 0, len);
        }

        // 关闭输入流和输出流
        in.close();
        out.close();
    }
}
  1. 在客户端,使用一个链接或按钮来触发文件下载请求。
<a href="download?filename=myfile.txt">下载文件</a>
``
Java。文件上传。下载

原文地址: https://www.cveoy.top/t/topic/fULF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录