使用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版本上,它并没有打开。不会生成错误,也不会打开文件 我猜它正在被浏览器的安全功能所阻止 请告诉我如何在这些浏览器版本上

我有两台服务器:A和B。 我的经典ASP应用程序部署在服务器A上。 服务器B包含一个文件夹(ScannedDocuments)。我已在服务器a上创建了指向此文件夹的共享驱动器。共享驱动器名为Q:

在IE 7上,当我尝试使用javascript访问文件时,我使用的是:

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 });
}