不允许加载本地资源:JSP

时间:2015-07-02 09:22:45

标签: javascript java html jsp

我想通过jsp中的链接下载一个简单的文件,但是这个名字有一个中文字符。这是我的简单代码:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!doctype html>
<html lang="fr">
  <head>
   <meta charset="utf-8">
   <title>Titre de la page</title>
  </head>
 <body>
     <a href="C:\Files\4.导轨安装板.PDF" target="_blank">My link </a>
 </body>
 </html>

在导航器控制台中出错:不允许加载本地资源。

感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

问题不在于您尝试访问本地磁盘的字符。您的代码在浏览器中执行,并且出于安全原因,您无法访问显示该页面的计算机的本地磁盘。更不用说,如果允许这样做,它将在运行的每台机器上加载不同的东西:)。 因此,要么在HREF中使用相对路径,要么使用完整URL。 请记住,当您指定链接时,它会转到SERVER以获取资源,而不是来自运行浏览器的本地计算机。

答案 1 :(得分:0)

请勿以此格式导入或加载本地资源:

src="file://home/web-server/foo/bar.jpg"

因为现代浏览器不允许在服务器磁盘上加载文件。

我建议您告诉代理服务器为dir服务

foo

作为静态文件目录,浏览器可以通过代理服务器访问。在NodeJS中,它会像(在/ home / web-server中建议这个名为app.js的文件)​​

var express = require("express");
var app = express();
app.use(express.static(path.join(__dirname, 'foo')));

现在,在您的html代码中,您可以调用

<a href="4.导轨安装板.PDF" target="_blank">My link </a>

然后,您将看到浏览器通过

访问您的文件
http://yourdomain.com/4.导轨安装板.PDF

这将有效。