Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我是否可以在不使用FileReader文件选择选项的情况下读取文本文件_Javascript - Fatal编程技术网

Javascript 我是否可以在不使用FileReader文件选择选项的情况下读取文本文件

Javascript 我是否可以在不使用FileReader文件选择选项的情况下读取文本文件,javascript,Javascript,因此,我尝试在VisualStudio中单击.cshtml按钮时读取.js脚本中的文件。我想知道的是,是否可以直接将读取的文件链接到已知的文件路径,而不必使用FileReader的输入方法?我有一个.txt文件,它保存了链接的一部分,这样它就不会在程序中硬编码,如果需要,我可以进入并更改它 我希望代码在单击按钮时转到.js函数(确实如此),然后读取set.txt文件的内容并将其存储在以下命令中的filePath变量中: window.open('http://' + filePath + '/'

因此,我尝试在VisualStudio中单击.cshtml按钮时读取.js脚本中的文件。我想知道的是,是否可以直接将读取的文件链接到已知的文件路径,而不必使用FileReader的输入方法?我有一个.txt文件,它保存了链接的一部分,这样它就不会在程序中硬编码,如果需要,我可以进入并更改它

我希望代码在单击按钮时转到.js函数(确实如此),然后读取set.txt文件的内容并将其存储在以下命令中的filePath变量中:

window.open('http://' + filePath + '/', '_blank');

这可能吗?

您可以使用
XMLHttpRequest
加载文本文件。在下面的示例中,名为
dummy
DIV
将接收加载的文本。但是您也可以将
http.responseText
放入一个var中进行进一步处理

dummy
const test=document.getElementById('test');
const http=new XMLHttpRequest();
函数resetDIV(){
test.innerHTML='dummy';
}
const httpResult=函数(){
console.log(http);
test.innerHTML=http.responseText;
}
函数httpRequest(\u url){
//黑客是不安全的,因为如果黑客找到了在DOM中添加或修改元素的方法,并使用自己的注入URL调用您的函数,他可以查找您不希望其他人看到的文件。
http.open('GET',\u url);
http.onloadend=httpResult;
http.send();
}
函数httpRequestByID(_fileNum){
//一个更安全的功能是,URL是硬类型的,并且只能通过文件号引用

如果((typeof _fileNum)=“number”&&&&&&&&u fileNum>0&&&u fileNum您可以使用
XMLHttpRequest
加载文本文件。在下面的示例中,名为
dummy
DIV
将接收加载的文本。但您也可以将
http.responseText
放入一个变量中进行进一步处理

dummy
const test=document.getElementById('test');
const http=new XMLHttpRequest();
函数resetDIV(){
test.innerHTML='dummy';
}
const httpResult=函数(){
console.log(http);
test.innerHTML=http.responseText;
}
函数httpRequest(\u url){
//黑客是不安全的,因为如果黑客找到了在DOM中添加或修改元素的方法,并使用自己的注入URL调用您的函数,他可以查找您不希望其他人看到的文件。
http.open('GET',\u url);
http.onloadend=httpResult;
http.send();
}
函数httpRequestByID(_fileNum){
//一个更安全的功能是,URL是硬类型的,并且只能通过文件号引用

if((typeof _fileNum)=='number'&&&&&&u fileNum>0&&u filenumw为什么需要从.txt文件中读取
filePath
?如果您只是想不时更改文件路径,这对我来说似乎是一种过分的做法,您可能会在以下链接中找到一些有用的内容。您想要的似乎是问题的示例代码:var fileContents=fileForUpload.files.item(0).getAsBinary()文件;我不知道这是否是您想要的;如果不是,您可以与该线程上的人联系以获取更多详细信息。谢谢AntiqTech!@DigitalJedi,因为该链接可能在代码中的其他位置被引用,所以我不想返回并查找所有实例。我当然可以这样做,但我愿意这样做e如果可能的话,您可以使用一个全局变量来实现这个目的?是的,我可以…为什么需要从.txt文件中读取
filePath
?如果您想不时更改filePath,这对我来说似乎是一个过激行为,您可能会在下面的链接中发现一些有用的东西。您想要的似乎是问题的示例代码:var-fileContents=fileForUpload.files.item(0).getAsBinary();我不知道这是否是您想要的;如果不是,您可以与该线程上的人联系以获取更多详细信息。谢谢AntiqTech!@DigitalJedi,因为该链接可能在代码中的其他位置被引用,所以我不想返回并查找所有实例。我当然可以这样做,但我愿意这样做e如果可能的话,你可以使用一个全局变量吗?是的,我可以…脚注:永远不要允许任何用户输入作为url作为请求发送,这将为黑客扫描你服务器上的文件打开一扇大门!!!使其严格且更安全的方法之一是对相关元素/对象使用
const
,并引用url只能通过
编号
。这样你就可以确保你的函数永远不会加载你不允许加载的文件。脚注:永远不要允许任何用户输入作为url作为请求发送,这将为黑客打开一扇大门,让他们扫描你服务器上的文件!!!使其严格并因此更安全的方法之一是使用
const
用于相关元素/对象,并仅通过
编号引用url。这样,您可以确保您的函数永远不会加载不允许加载的文件。
    const test = document.getElementById('test');
    const http = new XMLHttpRequest();

    function resetDIV() {
       test.innerHTML = 'dummy';
    }

    const httpResult = function() {
      console.log(http);
      test.innerHTML = http.responseText;
    }

    function httpRequest(_url) {
      // hacker unsafe because if a hacker finds a way to add or modify an element in the DOM and call your function with his own injected URL he can look for files you don't want others to see.
      http.open('GET', _url);
      http.onloadend = httpResult;
      http.send();
    }

    function httpRequestByID(_fileNum) {
      // a little safer function it is when the urls are hard typed and you can only reference by a file number
      if((typeof _fileNum)=='number' && _fileNum>0 && _fileNum<3){
         if(_fileNum===1){http.open('GET', 'http://yourserver/yourpath/hello.txt');}
         if(_fileNum===2){http.open('GET', 'http://yourserver/yourpath/other.txt');}
         http.onloadend = httpResult;
         http.send();
      }else{
         alert('httpRequestByID received an invalid argument');
         // nothing more should happen
      }
    }