java - Spring MVC,Java : Creating URL for image saved on FileSystem

标签 java image spring-mvc image-conversion imageurl

我正在开发一个 Spring-MVC 应用程序,在该应用程序中,对于用户,我们将缩略图保存在文件系统本身上。现在为了聊天,我想为保存在文件系统上的缩略图创建一个 URL,并将其传递到前端。

例如:图片保存在

/home/username/datadir/personid.png

我想给 url 类似:

domainname.com/personid.png

请注意 PersonId 是唯一的,因此我可以使用该约束。保存图像的部分已经完成,我只是不知道如何从保存在文件系统上的文件中创建图像 URL。

任何帮助都会很好。非常感谢..:-)

最佳答案

您应该使用请求处理程序来调停此调用,例如

@RequestMapping("/image/{personId}")
@ResponseBody
public HttpEntity<byte[]> getPhoto(@PathVariable String personId) {
    byte[] image = org.apache.commons.io.FileUtils.readFileToByteArray(new File([YOUR PATH] + File.separator + personId + ".png"));

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.IMAGE_PNG); 
    headers.setContentLength(image.length);
    return new HttpEntity<byte[]>(image, headers);
}

另请注意,您可以使用内容分析来确定适当的媒体类型,例如在Apache Tika的帮助下.这样您就不必存储文件名或对扩展名进行硬编码

关于java - Spring MVC,Java : Creating URL for image saved on FileSystem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29943925/

相关文章:

java - 是否可以将 @Valid 与从 JSON 有效负载创建的 @HashMap 一起使用?

java - 如何使用gwt-gradle输出静态内容?

java - Java中的扫描仪可以从对话框中读取文本吗

java - Spring使用java-config(不是XML)通过构造函数参数实例化对象

java - 休息响应中重复的 Swagger 鉴别器字段

java - Java 中的图像输入输出

image - 在单独的子域上托管图像

javascript - 具有设定高度的响应式图像设计

java - 手动实现 Jackson 序列化会忽略注释

java - SpringMVC获取404错误