java - 如何在基于 Spring 的 Web 服务上提供图像

标签 java spring spring-mvc

我是第一次开发 Java Web 服务。我正在使用 Spring Framework 来做到这一点。我需要提供用户图像。我将从客户端获取 Base64 字符串并将其作为图像写入并将其可访问的 url 添加到数据库,而不是每当客户端想要查看此图像时我将只发送图像 url 这样客户端就可以使用图像用更少的努力。 但要做到这一点,我需要通过浏览器访问文件夹中的这些图像。 我不知道如何在基于 Java 的 Web 服务上访问文件夹及其文件。希望有人能提供帮助。

如果有你认为更好的方法去做。请随意写。

最佳答案

Spring Framework 4.1 改进了对资源处理的支持。它允许您以声明方式配置从何处为特定请求路径提供资源,这可能是您感兴趣的内容。

在您的代码中,使文件系统资源可从 Web 访问主要归结为重写基于 WebMvcConfigurerAdapter 的配置类的 addResourceHandlers() 方法。 Spring Framework documentation显示以下示例:

For example, to serve resource requests with a URL pattern of /resources/** from a public-resources directory within the web application root you would use:

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/public-resources/");
    }

}

/public-resources/ 替换为以 file:// 为前缀的文件系统路径,例如file://user-uploads/.

我建议看一下 relevant blog post以及随附的 example project .体育演示项目 a good example了解如何为复杂场景配置资源处理。

关于java - 如何在基于 Spring 的 Web 服务上提供图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538696/

相关文章:

java - 在 Java 中创建带有 A-Z 和 0-9 的随机字符串

java - Log4j 2 登录错误级别

Java 方法 CharAt 在与 # 比较时崩溃

mysql - spring mvc和mysql的UTF-16编码

java - 在 Android 上接收广播消息

spring - EnableBinding 类型已弃用,StreamListener 类型已弃用 - Spring Cloud Stream

spring - 如何使用大写环境变量设置 Spring camel case 属性?

java - 为什么我收到“无合格 bean”错误?

java - 构建java SpringMVC4 Web框架需要什么jar?

java - Spring/MyBatis 事务回滚