写一个文件上传
时间: 2024-02-17 18:05:16 浏览: 16
好的,以下是一个简单的文件上传的示例代码:
HTML 文件:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传示例</title>
</head>
<body>
<form enctype="multipart/form-data" method="post">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
</body>
</html>
```
Java 后端代码:
```java
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import static spark.Spark.*;
public class FileUploadExample {
public static void main(String[] args) {
staticFiles.location("/public"); // 设置静态文件目录
post("/upload", (request, response) -> {
Part filePart = request.raw().getPart("file"); // 获取上传的文件
String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString(); // 获取文件名
Path filePath = Paths.get("./uploads/" + fileName); // 保存的文件路径
try (InputStream inputStream = filePart.getInputStream()) {
Files.copy(inputStream, filePath); // 将文件保存到指定路径
} catch (IOException e) {
e.printStackTrace();
}
response.status(200); // 设置响应状态码
return "上传成功!";
});
}
}
```
在上述代码中,我们使用 Spark 框架来实现后端逻辑,静态文件目录设置为 public,上传文件的请求路径为 /upload。在上传文件的处理逻辑中,我们先获取上传的文件和文件名,然后将文件保存到指定路径,最后返回上传成功的消息。请注意,需要在服务器上创建一个文件夹 uploads,用于保存上传的文件。
这只是一个简单的文件上传示例,实际应用中还需要考虑安全性、上传文件大小限制等问题。