【发布时间】:2023-03-16 21:46:01
【问题描述】:
我正在开发一个 Spring Boot 应用程序。我在应用程序中有图像上传功能。到目前为止,需要将图像保存在同一服务器中。所以我这样做了:
@PostMapping("/upload")
public String upload(@RequestParam("photo") MultipartFile photo) throws IOException {
Path currentPath = Paths.get("");
Path absolutePath = currentPath.toAbsolutePath();
Path photoPath = Paths.get(absolutePath + "/photos/photo.png");
byte[] photoBytes = photo.getBytes();
Files.write(photoPath, photoBytes);
return "redirect:/index";
}
现在需要将图像保存在另一台服务器的照片文件夹中,其 ip 地址为:192.168.148.154
如何将图像保存到另一台服务器?
【问题讨论】:
-
你需要看看其他服务器提供了哪些服务。不受你控制?
-
是的。另一台服务器只有在 8080 端口运行的 tomcat 服务器。我必须保存文件
192.168.148.154:8080/photos文件夹。 -
如果您拥有对该服务器的私有 HTTP 访问权限,那么是什么阻止您使用该方案?如果您的存储空间有更多打开方式,请使用这些方式。也许您甚至将远程服务器存储安装到本地服务器文件系统,因此直接写入本地文件系统安装点就可以了。无论如何,这取决于。
-
如果您不想/不能做两个单独的前端请求,您可以使用
HttpURLConnection将您的请求从您的第一台服务器的upload方法转发到另一台服务器..
标签: java spring spring-boot image file-upload