使用javascript客户端打开文件
在我的应用程序中,我想打开一个存在于客户机上的文件。我创建了两个应用程序:桌面应用程序和web应用程序。当用户安装桌面应用程序时,会有一些文件被复制到其安装路径,我希望通过javascript从web应用程序打开这些文件。出于安全原因,浏览器与主机隔离(沙盒)使用javascript客户端打开文件,javascript,asp.net,Javascript,Asp.net,在我的应用程序中,我想打开一个存在于客户机上的文件。我创建了两个应用程序:桌面应用程序和web应用程序。当用户安装桌面应用程序时,会有一些文件被复制到其安装路径,我希望通过javascript从web应用程序打开这些文件。出于安全原因,浏览器与主机隔离(沙盒) 浏览器访问本地文件(除了沙盒中的文件,即cookies和缓存)的唯一方法是用户显式使用的HTML文件控件。不幸的是,JavaScript无法访问客户端的文件结构。你可以在你的web应用程序中使用AdobeAIR之类的东西,也许吧 浏览器是
浏览器访问本地文件(除了沙盒中的文件,即cookies和缓存)的唯一方法是用户显式使用的HTML文件控件。不幸的是,JavaScript无法访问客户端的文件结构。你可以在你的web应用程序中使用AdobeAIR之类的东西,也许吧
浏览器是针对这种情况的沙盒。如果你能用JavaScript打开你自己的文件,谁能阻止我用JavaScript打开你的文件呢 解决此问题的常用方法是使用ActiveX组件并通过JavaScript与之交互。但这将限制您使用IE。这个呢
<script>
var oRequest;
if(document.all) {
// Internet Explorer
oRequest = new ActiveXObject("Microsoft.XMLHTTP")
}
else {
// Mozilla
oRequest = new XMLHttpRequest();
}
oRequest.open("GET", "file:///C:/myLocalFile.txt", false);
oRequest.send(null);
textToBeWritten = oRequest.responseText;
document.write(textToBeWritten);
</script>
var oRequest;
如果(全部文件){
//Internet Explorer
oRequest=新的ActiveXObject(“Microsoft.XMLHTTP”)
}
否则{
//Mozilla
oRequest=新的XMLHttpRequest();
}
打开“获取”file:///C:/myLocalFile.txt“,假);
oRequest.send(空);
text tobewrited=oRequest.responseText;
文件。编写(文本待编写);
正如Oded出于安全原因所述,这是不可能的
如果客户端计算机上已经安装了应用程序,那么您可以向其传递参数并执行应用程序,在这种情况下,您可以将文件的URI传递给应用程序,使其在其计算机上打开,但我看不到它在浏览器中发生。Javascript在浏览器中是沙盒,这是不可能的。您是否在不在同一台计算机上的位置尝试过此操作?