Spring-MVC,Java:为保存在文件系统上的图像创建 URL
Spring-MVC, Java : Creating URL for image saved on FileSystem
我正在开发一个 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 的帮助下。这样您就不必存储文件名,也不必对扩展名进行硬编码
首先你可以通过两种方式完成,首先在你的tomcat的conf文件夹中有一个名为server.xml的文件,添加下面一行进入
<Context docBase="YOUR/FILE/PATH" path="/" />
之后,如果您将文件保存到 YOUR/FILE/PATH
,tomcat 将以 domainname.com/filename
的形式提供给外部
第二种方式比较复杂,需要google一点。当 Master Slave 回答时,您可以打开一个控制器,将您的图像提供给外部。
Rg.
我正在开发一个 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 的帮助下。这样您就不必存储文件名,也不必对扩展名进行硬编码
首先你可以通过两种方式完成,首先在你的tomcat的conf文件夹中有一个名为server.xml的文件,添加下面一行进入
<Context docBase="YOUR/FILE/PATH" path="/" />
之后,如果您将文件保存到 YOUR/FILE/PATH
,tomcat 将以 domainname.com/filename
第二种方式比较复杂,需要google一点。当 Master Slave 回答时,您可以打开一个控制器,将您的图像提供给外部。
Rg.