javaweb采用绝对路径从网上下载图片
时间: 2023-09-13 18:04:00 浏览: 65
在JavaWeb中,可以使用以下代码来从网上下载图片并保存到本地:
```java
String imageUrl = "http://example.com/image.jpg"; // 图片的URL地址
String savePath = "C:/temp/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);
}
out.close();
in.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,将保存的文件发送给客户端进行下载。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)