我想通过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>
在导航器控制台中出错:不允许加载本地资源。
感谢您的帮助:)
答案 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
这将有效。