Spring mvc:访问外部文件夹的资源

2023-12-10

我已将媒体(图片和电影)存储在文件夹中(例如 C:\test\tes.png),并且我尝试使用以下网址访问图片:http://localhost:8080/app/picture/test.png。 为此,我使用了资源标签(spring 3),如下所示:

<mvc:resources mapping="/picture/**" location="file:/test" />

当我尝试访问时,出现错误,但没有更多详细信息。

未找到请求的资源

我在日志中有:

2011-11-07 20:48:55,241 [http-8080-2] 调试 org.springframework.web.servlet.DispatcherServlet - 名为“Family”的 DispatcherServlet 处理 [/Family/photos/testImage2.png] 的 GET 请求 2011-11-07 20:48:55,241 [http-8080-2] 调试 org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - 请求的匹配模式 [/photos/testImage2.png] 是 [/**] 2011-11-07 20:48:55,241 [http-8080-2] 调试 org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - 请求 [/photos/testImage2.png] 的 URI 模板变量为 {} 2011-11-07 20:48:55,242 [http-8080-2] 调试 org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - 使用处理程序 [org.springframework.web.SimpleUrlHandlerMapping] 将 [/photos/testImage2.png] 映射到 HandlerExecutionChain。 servlet.resource.DefaultServletHttpRequestHandler@3a779f5e] 和 4 个拦截器 2011-11-07 20:48:55,242 [http-8080-2] 调试 org.springframework.web.servlet.DispatcherServlet - [/Family/photos/testImage2.png] 的上次修改值为:-1 2011-11-07 20:48:55,242 [http-8080-2] 调试 org.springframework.web.servlet.DispatcherServlet - Null ModelAndView 返回到名称为“Family”的 DispatcherServlet:假设 HandlerAdapter 已完成请求处理 2011-11-07 20:48:55,242 [http-8080-2] 调试 org.springframework.web.servlet.DispatcherServlet - 成功完成请求

我当然没有全部理解...

另一个问题:我不确定这是个好方法。访问外部文件夹上的媒体还有哪些其他解决方案?

提前致谢 !


第一个问题:“映射”

我不是100%确定,但我猜,有一个最终的/缺少该位置。 将其更改为:

<mvc:resources mapping="/picture/**" location="file:/test/" />

另一个问题:我不确定这是个好方法。访问外部文件夹上的媒体还有哪些其他解决方案?

以我的拙见,向网站用户授予对文件夹的完全读取权限是非常糟糕的做法。注意,访问不仅限于文件夹,用户还可以访问所有子文件夹。

*即使您决定忽略此警告,那么您也必须测试如果某些使用调用会发生什么http://localhost:8080/app/picture/../someFile.** 我不知道会发生什么,但是 ** 120% 确保没有人可以访问外部的任何文件picture文件夹! -- 我查看了 spring 的实现,发现 spring 已经处理了这个问题。*从 Spring 3.2.12、4.0.8、4.1.2 开始,资源处理程序确保您不会访问指定资源文件夹之外的文件夹。 (SPR-12354:使用静态资源处理进行目录遍历 (CVE-2014-3625))

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring mvc:访问外部文件夹的资源 的相关文章

随机推荐

  • 如何调用Enum单独的方法?

    我有一个枚举 可能如下所示 我的目标是拥有一个enum使用一些常见方法 我通过添加抽象方法来强制执行此操作 和一些 枚举值个体 方法 以下代码编译 public enum MyEnum VALUE Override public void
  • 在 iPhone 中使用图像(普通和 @2x)

    所以我正在构建一个使用图像作为按钮的应用程序 我提供了普通图像和 2x 图像 但是我不完全确定应该使用哪一个 如果我使用normal png 或使用基本上没有区别 电子邮件受保护 但是我读到使用 2x 需要更多内存 所以我觉得我不应该这样做
  • 为什么我们需要指定init方法?

    即使不指定以下代码块也可以正常运行init方法 如果是这样的话 这样做的目的是什么 init方法服务 struct Person var name String var age Int init name String age Int se
  • 通过USB端口发送和接收数据[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想通过 USB 端口向设备发送 接收数据 从我的 Vista 电脑 是否有一个免费 便宜的图书馆可以做到这一点 以及这个项目的参与程度如何 不考虑
  • 将事件转发给所有JAVA组件

    我不知道如何解决这个问题 我正在开发一个图形编辑器 可以在其中绘制弧 线 我手动将圆弧组件的大小设置为 1000x1000 因此当拖放此圆弧时我不必更改它 然后我在这个组件中绘制所需尺寸的弧线 每个弧形组件都安装了鼠标监听器 问题是 只有最
  • 为什么这些梯度累积实现不起作用?

    Note 经过实验 我发现只有在 GPU 上训练时才会出现这个问题 我创建了一个 github 问题 50454 此时我不确定到底发生了什么 我正在研究梯度累积的实现 然而 这些方法似乎都不起作用 下面我描述了两种理论上可行但似乎与 Ten
  • 尝试将 EmailJS 与 React 结合使用时,服务 ID 无效

    我在我的网站上创建了一个联系我的表单 为此我使用了 EmailJS 然而 当我尝试通过联系表给自己发送邮件时 我收到了 400 错误The service ID is invalid 我遵循了该教程的每个步骤 因为我之前没有使用过 Emai
  • 可选类型“NSURL?”的值未拆封;你的意思是使用“!”吗?或者 '?'?

    我使用 Xcode 6 Beta 6 启动了一个 Swift 项目 该项目还使用了 Core Data 升级到 Xcode 6 GM 后 编译时出现以下错误 Users AppDelegate swift 58 52 Value of op
  • 如何在android中下载谷歌地图的特定区域

    我正在制作一个 Android 应用程序 它将在屏幕上显示谷歌地图 通过单击按钮 用户可以下载他 她的特定区域并将其存储在内部存储中 稍后 当互联网连接较差或不可用时 用户可以使用之前下载的离线地图 如何制作这样的应用程序 请指导我 谢谢
  • Perl 命令行多行替换

    我正在尝试使用命令行 perl 替换多行文件中的文本 我正在使用 Ubuntu Natty 以下是我的文本文件 称为 test txt 的内容 mysqld Basic Settings IMPORTANT If you make chan
  • 使用 sqlalchemy 时出现编程错误:(psycopg2.errors.UndefinedColumn)

    我在查询使用 sqlalchemy 在 postgres db 本地 上创建的表时遇到问题 虽然我能够执行并接收查询结果 SELECT FROM olympic games 当我尝试访问单个列或对表执行任何其他操作时收到错误消息 SELEC
  • 如何在 UIWebView 中从 Javascript 调用 Objective-C 方法?

    我正在使用 Phonegap 开发一个本机 iPhone 应用程序 因此一切都是用 HTML 和 JS 完成的 我正在使用 Flurry SDK 进行分析并希望使用 FlurryAPI logEvent EVENT NAME 跟踪事件的方法
  • 通过 AFNetworking 上传到 Amazon-S3

    我在通过 AFNetworking 将文件上传到 S3 时遇到困难 当我尝试上传时 我收到回调 表明文件的一小部分已上传 然后回调停止 一两分钟后我收到一条超时消息 我在用着亚马逊S3客户端但它似乎是 AFHTTPClient 的一个非常直
  • ADF - 迭代选择输出到复制活动

    我们有一个 SP 其中 SP 执行并返回多个结果集 其中列号发生变化 如下所示 create proc test ab as select 1 as num1 select 1 as num1 2 as num2 select 1 as n
  • 对 AVPlayerLayer videoGravity 属性进行动画处理

    我试图复制苹果在视频播放方面的行为 允许用户拉伸视频图像以填充边界 interface FHVideoPlayerView UIView end interface FHVideoPlayerView Class layerClass re
  • 如何根据其他微调器获取微调器值

    我有两个旋转项目 一个是我的日旋转器 另一个是我的月旋转器 如果我从月份微调器中选择二月 并且如果我选择日期为 30 则不应执行此操作 另一个例子 四月有 30 天 所以如果有人选择月份为四月 日期为 31 日 那么这是不正确的 请告诉我如
  • 在 Android Studio 中禁用“添加到 VCS”

    我已经在 Android 开发中使用 Intellij IDEA w git 集成有一段时间了 我最近升级到 Android Studio v0 1 1 现在我最喜欢的快捷键之一 Ctrl Command A 添加到 VCS 始终被禁用 这
  • iOS 选项弹出窗口 - 类似于剪切/复制/粘贴

    对于我正在开发的应用程序 我需要一些弹出选项 类似于在 UITextView 或 UIWebView 中选择文本时剪切 复制 粘贴的显示方式 但是 我无法找到这种弹出窗口的名称 是否有针对它们的公共 API 或者是否必须从头开始实现 您要查
  • 通知:本地通知的自定义声音在 iOS10 中不播放

    我正在发出本地通知 自从UILocalNotification类在 iOS 10 中已弃用 我已经使用过UserNotifications framework 当我尝试设置通知的自定义声音时 默认声音始终播放 这是我的代码 IBAction
  • Spring mvc:访问外部文件夹的资源

    我已将媒体 图片和电影 存储在文件夹中 例如 C test tes png 并且我尝试使用以下网址访问图片 http localhost 8080 app picture test png 为此 我使用了资源标签 spring 3 如下所示