【发布时间】:2021-06-03 22:40:57
【问题描述】:
我使用 spring boot 作为后端,reactjs 作为前端。我将图像和视频存储在服务器上。然后将其检索到前端。使用 localhost 时,它可以正常工作。但是在我在 ubuntu 服务器上部署此应用程序后,我无法预览图像。(但图像保存过程成功)。在 ubuntu 中,我的 spring boot jar 文件位于 /root/main/test。但是上传的图像保存在根文件夹(/upload/image.jpg)之外。所以我不能把它作为完整的 url 检索。例如 mydomain.com/upload/image.jpg 不起作用。如何使用 react js 获取此图像
【问题讨论】:
-
这完全是你后端的问题。您如何尝试在 Spring 中获取图像? (我的意思是显示一些代码)
-
要提供文件,您需要安装 nginx 或 apache 之类的服务器
-
@k-wasilewski String[] split = filename.split("primages/");字符串 fileurl = split[1];路径文件 = userroot.resolve(fileurl);资源资源 = new UrlResource(file.toUri()); if (resource.exists() || resource.isReadable()) { 返回资源; } else { throw new RuntimeException("无法读取文件!");这就是我检索图像的方式。这将图像文件作为资源返回
-
@Aman 我已经使用 nginx 来运行我的 Web 应用程序。你的意思是我需要单独的 nginx 服务来处理图片??
-
一个就够了。只需提供正确的图像 url 的反应(理想情况下应该通过后端响应来完成)。像这样
{...., "thumbUrl": "http://ngnix-addr/url/image.jpg"}这样react就可以正常渲染图片了。如果您有 spring-security,请确保您允许访问这些路径。
标签: reactjs angularjs spring spring-boot