在网上下载任意2张图片JPG格式,将图片资源存放在web服务器内,登录浏览器利用response对象下载图片,保存到桌面。 注意:最后网页截图截完整浏览器的截图。浏览器访问地址有本机IP进行访问。
时间: 2024-02-26 09:54:31 浏览: 44
WebApi2 文件图片上传与下载功能
好的,那我把之前的回答再整合一下,提供完整的代码示例。
1. 在web服务器内存放两张图片,比如路径为:`/webapp/images/pic1.jpg` 和 `/webapp/images/pic2.jpg`。
2. 编写一个Servlet,处理图片下载请求,代码示例如下:
```java
@WebServlet("/downloadImage")
public class DownloadImageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取要下载的图片路径
String imagePath = request.getParameter("imagePath");
if (imagePath == null || imagePath.isEmpty()) {
response.getWriter().write("参数错误!");
return;
}
// 设置响应头信息,告诉浏览器这是一个文件下载
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + imagePath.substring(imagePath.lastIndexOf("/") + 1));
// 将图片数据写入到响应输出流中
InputStream inputStream = getServletContext().getResourceAsStream(imagePath);
OutputStream outputStream = response.getOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, len);
}
inputStream.close();
outputStream.flush();
outputStream.close();
}
}
```
3. 在JSP页面中添加下载链接,代码示例如下:
```html
<a href="downloadImage?imagePath=/images/pic1.jpg">下载图片1</a>
<a href="downloadImage?imagePath=/images/pic2.jpg">下载图片2</a>
```
4. 在浏览器中访问该JSP页面,点击下载链接即可下载图片。
5. 下载完成后,可以在浏览器中打开下载文件,然后使用浏览器提供的保存功能将图片保存到桌面。
最后,为了让您更好地理解实现思路,附上一个完整的示例工程:[download-image-from-webserver.zip](https://github.com/JavaGuide/Java-Web-Examples/files/7356135/download-image-from-webserver.zip)。
网页截图请参考下面的链接:
[截图](https://i.loli.net/2021/12/02/2qzQJlZbL7Tjngf.png)
阅读全文