“不允许加载本地资源:file:///C:....jpg”Java EE Tomcat

2022-09-01 02:41:26

我试图在良好的存储后从我的文件系统中检索图片,(而不是将其放入数据库中,而是将其复制到光盘中,然后将路径放到数据库)

  1. 我将图片存储到c:\images\文件夹,并假设完整路径的名称是c:\images\mypic.jpg
  2. 当我尝试检索它时,通过使用一些java代码将img src属性设置为<img src="c:\images\mypic.jps">
  3. 在浏览器控制台中,我发现此错误Not allowed to load local resource: file:///C://images//mypic.jpg

问:如何解决这些路径问题?我应该在哪里存储图片?我应该从哪里检索它们?


答案 1

发送标记将导致用户浏览器从其文件系统访问图像。如果你必须将图像存储在位于的文件夹中,我建议创建一个像图像一样的servlet.jsp,作为参数采用文件的名称,然后将servlet响应内容设置为图像/ jpg,然后从服务器位置加载图像字节并将其放入响应。<img src="c:\images\mypic.jpg">c:\images

但是,您用什么来创建应用程序呢?是纯粹的仆人吗?春天?JSF?

在这里,您可以找到一些有关如何执行此操作的信息。


答案 2

在Chrome中,您应该能够通过运行时标志--允许-文件-从文件访问-来允许此功能

但是,看起来当前版本的Chrome(37,38)存在问题,除非您还传递运行时标志 - 禁用 - 网络安全,否则这不起作用

这是一个不可接受的解决方案,除了可能作为短期解决方法,但它已被确定为一个问题:https://code.google.com/p/chromium/issues/detail?id=379206


推荐