Tomcat上的Java Web应用程序-显示用户上传的文件

Tomcat上的Java Web应用程序-显示用户上传的文件,java,tomcat,file-upload,spring-mvc,download,Java,Tomcat,File Upload,Spring Mvc,Download,我需要在web应用程序上显示上传的文件,流程如下 用户通过web UI上传文件 图像验证 调用imageRepository.store(上传的图像,user.getSite()) 用户希望显示添加了 但这正是我被困的地方,getUrl()能做什么?简单的解决方案是把它放在某个地方,让Apache为文件提供服务,但是我不能使用该应用程序来确保一个用户没有修改URL来查看其他用户的文件,在这种情况下,这很重要如果要管理文件的路径,您有两个选项 您可以创建一个服务来按ID返回文件。本质上,这个控制器

我需要在web应用程序上显示上传的文件,流程如下

  • 用户通过web UI上传文件
  • 图像验证
  • 调用
    imageRepository.store(上传的图像,user.getSite())
  • 用户希望显示添加了

  • 但这正是我被困的地方,
    getUrl()
    能做什么?简单的解决方案是把它放在某个地方,让Apache为文件提供服务,但是我不能使用该应用程序来确保一个用户没有修改URL来查看其他用户的文件,在这种情况下,这很重要

    如果要管理文件的路径,您有两个选项

  • 您可以创建一个服务来按ID返回文件。本质上,这个控制器操作(或servlet)将从存储库存储区加载映像并将其序列化回用户。这提供了最多的控制
  • 您可以创建一个执行所需控制的筛选器,然后将其委托回web服务器以执行实际的文件服务。这仍然可以让您控制,但可以免除应用程序高效序列化文件的责任
  • 我想验证的一件事(因为我不确定
    ${anUploadedImage}
    是什么类型)是URL
    getUrl()
    返回的内容。如果它是
    文件
    对象,则
    getUrl()
    提供了一个在HTML中无用的文件URL。基本上,web浏览器会查看用户的驱动器或报告某种可疑活动

    HTML中包含的URL需要指向服务将发送所需图像的位置