通过 Apache 的 FileUtils 工具类将文件作为附件返回给客户端,代码
时间: 2023-02-08 14:02:10 浏览: 109
FileUtils文件工具类
在 Servlet 中可以使用 Apache FileUtils 工具类来将文件作为附件返回给客户端,代码如下:
```java
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
public class DownloadServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String fileName = request.getParameter("fileName");
ServletContext context = getServletContext();
String filePath = context.getRealPath("/WEB-INF/download/" + fileName);
File downloadFile = new File(filePath);
FileUtils.forceDownload(downloadFile, response);
}
}
```
需要注意的是, 需要先在项目中添加 Apache commons-io 的依赖.
```
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
```
其中,fileName 为下载文件的文件名,filePath 为服务器上文件的绝对路径。
阅读全文