我有两台服务器:A和B. 我的经典ASP应用程序部署在服务器A上。 服务器B包含一个文件夹(ScannedDocuments)。我在服务器A上创建了一个指向此文件夹的共享驱动器。共享驱动器名为Q:。
在IE 7上,当我尝试使用javascript访问文件时,我正在使用:
window.open(file://Q:/a.txt)
它会打开文件。但是在IE 8及更高版本以及所有版本的Firefox上,它都没有打开。既不会生成错误也不会打开文件。
我猜它被浏览器的安全功能阻止了。
请告诉我如何在这些浏览器版本上打开文件。
有没有其他方法可以使用javascript或使用IIS打开远程文件?
**已编辑** 我尝试在IIS上创建虚拟目录并指向共享驱动器。但它给出了错误:找不到资源或目录。
我正在使用IIS 7
答案 0 :(得分:0)
客户端(JS)。使用它而不是window.open(file:// Q:/a.txt)
function getFile(filename) {
$.ajax({
url: "/YourWeb/File/Get",
data: {
filename: filename
},
success: function (data) {
console.log(data);
}
});
}
你的"后端"。假设您正在使用.NET:)
public ActionResult Get()
{
string pathToFolder = "x:\\yyy\\zzz";
// Strip any directories and leave only name of file. Exception is possible ;)
string filename = Path.GetFileName(Request["filename"]);
byte[] ba = File.ReadAllBytes(Path.Combine(pathToFolder, filename));
string s = Encoding.UTF8.GetString(ba);
// Return as text (if you are absolutetlly sure it is text!)
return Content(s);
// Or pack it in JSON object to have status
return Json(new { Status = true, Data = s });
}
如果您希望https://msdn.microsoft.com/en-us/library/windows/desktop/aa385482%28v=vs.85%29.aspx
,可以连接到UNC