javaweb采用绝对路径从网上下载图片
时间: 2023-09-13 08:04:00 浏览: 45
在Java Web中,可以使用绝对路径从网上下载图片。具体的步骤如下:
1. 获取图片的URL地址。
2. 使用Java中的URLConnection类,打开图片URL的连接。
3. 通过URLConnection对象的getInputStream()方法获取图片的输入流。
4. 使用Java IO中的FileOutputStream类,将图片的输入流写入本地文件。
下面是一个简单的示例代码:
```java
String imageUrl = "http://example.com/image.jpg";
String savePath = "/path/to/save/image.jpg";
URL url = new URL(imageUrl);
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();
FileOutputStream out = new FileOutputStream(savePath);
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
in.close();
out.close();
```
需要注意的是,这种方式下载图片需要保证网络连接畅通,否则可能会出现下载失败的情况。另外,也需要确保本地文件夹的路径正确,并且有写入权限。
相关问题
javaweb通过img绝对路径读取图片
可以通过以下代码实现:
```
<img src="http://www.example.com/images/image.jpg">
```
其中,`http://www.example.com`是图片所在的服务器地址,`images/image.jpg`是图片的路径,可以根据实际情况进行修改。需要注意的是,图片要确保可以通过该路径访问到。
javaweb采用绝对路径实现可以选择本地文件并下载到本地文件目录 jsp代码,servlet代码
以下是一个简单的 JSP 页面和对应的 Servlet,用于实现在 JavaWeb 中选择本地文件并下载到本地文件目录:
JSP 页面代码(`index.jsp`):
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaWeb 文件下载</title>
</head>
<body>
<h1>请选择要下载的文件:</h1>
<form action="download" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<br>
<input type="submit" value="下载">
</form>
</body>
</html>
```
Servlet 代码(`DownloadServlet.java`):
```java
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@WebServlet("/download")
public class DownloadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取上传的文件
Part filePart = request.getPart("file");
String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString();
// 构造文件保存路径
String savePath = "C:/temp/" + fileName;
Path saveFile = Paths.get(savePath);
// 将上传的文件保存到本地
try (InputStream in = filePart.getInputStream();
OutputStream out = Files.newOutputStream(saveFile)) {
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
}
// 向客户端发送文件
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
try (InputStream in = Files.newInputStream(saveFile);
OutputStream out = response.getOutputStream()) {
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
}
}
}
```
说明:
1. 在 JSP 页面中,通过 `<input type="file">` 元素实现了选择本地文件的功能。
2. 在 Servlet 中,通过 `request.getPart("file")` 获取上传的文件,然后将其保存到本地文件目录中。
3. 最后,通过设置响应的 Content-Type 和 Content-Disposition,将保存的文件发送给客户端进行下载。