使用javascript调用共享驱动器文件夹
我有两台服务器:A和B。 我的经典ASP应用程序部署在服务器A上。 服务器B包含一个文件夹(ScannedDocuments)。我已在服务器a上创建了指向此文件夹的共享驱动器。共享驱动器名为Q: 在IE 7上,当我尝试使用javascript访问文件时,我使用的是:使用javascript调用共享驱动器文件夹,javascript,iis,iis-7,shared-directory,Javascript,Iis,Iis 7,Shared Directory,我有两台服务器:A和B。 我的经典ASP应用程序部署在服务器A上。 服务器B包含一个文件夹(ScannedDocuments)。我已在服务器a上创建了指向此文件夹的共享驱动器。共享驱动器名为Q: 在IE 7上,当我尝试使用javascript访问文件时,我使用的是: window.open(file://Q:/a.txt) 它会打开文件。但在IE8及以上版本和所有Firefox版本上,它并没有打开。不会生成错误,也不会打开文件 我猜它正在被浏览器的安全功能所阻止 请告诉我如何在这些浏览器版本上
window.open(file://Q:/a.txt)
它会打开文件。但在IE8及以上版本和所有Firefox版本上,它并没有打开。不会生成错误,也不会打开文件
我猜它正在被浏览器的安全功能所阻止
请告诉我如何在这些浏览器版本上打开文件
是否有其他方法可以使用javascript或IIS打开远程文件
**编辑**
我尝试在IIS上创建一个虚拟目录并指向共享驱动器。但它给出了一个错误:找不到资源或目录
我正在使用IIS 7@Anant Dabii是对的-创建简单的Ajax调用以返回文件内容 客户端(JS)。使用它而不是window.open(file://Q:/a.txt) 你的“后端”。假设您正在使用.NET:)
如果您愿意,可以连接到UNC使用web服务器共享文件通过网络共享文件不是个好主意。@anantdabbi您是说IIS?我需要遵循哪些步骤?我正在使用iis7。我尝试在IIS上创建虚拟目录并将其指向共享驱动器。使用时:window.open(地址/Q/a.txt它提供的资源找不到。是的,您走的是正确的方向..检查此url可能会有所帮助。)you@AnantDabhi谢谢。我会试着回来找你。这是一个经典的ASP应用程序。我认为,在ASP.NET中使用此代码是可以的。但是你需要返回JSON对象,使用
new JavaScriptSerializer()。Serialize(新{Status=true,Data=s});
function getFile(filename) {
$.ajax({
url: "/YourWeb/File/Get",
data: {
filename: filename
},
success: function (data) {
console.log(data);
}
});
}
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 });
}