问题描述
如何实现简单的文件下载servlet?
How should I implement simple file download servlet?
想法是使用GET请求 index.jsp?filename = file.txt
,用户可以下载例如。来自文件servlet的 file.txt
,文件servlet会将该文件上传到用户。
The idea is that with the GET request index.jsp?filename=file.txt
, the user can download for example. file.txt
from the file servlet and the file servlet would upload that file to user.
我可以获取文件,但是如何实现文件下载?
I am able to get the file, but how can I implement file download?
推荐答案
这取决于。如果所述文件可以通过HTTP服务器或servlet容器公开获得,您可以通过 response.sendRedirect()
重定向到
That depends. If said file is publicly available via your HTTP server or servlet container you can simply redirect to via response.sendRedirect()
.
如果不是,您需要手动将其复制到响应输出流:
If it's not, you'll need to manually copy it to response output stream:
OutputStream out = response.getOutputStream();
FileInputStream in = new FileInputStream(my_file);
byte[] buffer = new byte[4096];
int length;
while ((length = in.read(buffer)) > 0){
out.write(buffer, 0, length);
}
in.close();
out.flush();
当然,您需要处理适当的异常。
You'll need to handle the appropriate exceptions, of course.
这篇关于实现一个简单的文件下载servlet的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!