0

我正在尝试使用 javascript 读取与我的 html 文件位于同一目录中的文本文件,以便我可以在我的 html 文件中包含文本文件的内容。

这是我必须测试 fopen 和 fread 函数的代码

<html>

<head>

</head>

<body>
<script>
   fh = fopen('my.txt', 0); // Open the file for reading.
   if(fh!=-1) // Check if the file has been successfully opened.
   {
   length = flength(fh); // Get the length of the file.
   str = fread(fh, length); // Read in the entire file.
   fclose(fh); // Close the file.
   
   // Display the contents of the file.
   write(str);
   } 
</script>
</body>

</html>

我试过用 document.write 替换'write',但仍然没有。

以下是一些以此代码为例的网站:

http://answers.yahoo.com/question/index?qid=20130519190823AA2lQ1W

http://www.c-point.com/JavaScript/articles/file_access_with_JavaScript.htm

任何帮助都将不胜感激。

谢谢!

4

3 回答 3

1

Javascript 没有文件系统访问权限。正如您发布的第二个链接中提到的那样,您需要安装特殊插件才能授予 JS 文件系统访问权限。

我认为这不是完成您想做的任何事情的正确方法。

为了访问客户端的文件系统,我见过的流行方法是使用 Flash 或 Java 小程序或 Microsoft Silverlight。

要访问您的服务器文件系统,您需要运行一个具有访问文件系统的适当权限的 Web 服务器。然后,您可以对 Web 服务器进行 AJAX 调用,这反过来会为您获取文件。

于 2013-10-11T02:20:49.747 回答
0

正如 Apoorv 所说,JavaScript 没有文件系统访问权限。但我认为重要的是要考虑为什么会这样。或者更确切地说,问问自己,你会去一个可以访问你机器上文件的网站吗?

于 2013-10-11T02:23:06.070 回答
0

像 fopen 这样的函数没有在 Web 浏览器中定义。您无法从 javascript 访问文件系统。要么必须做这样的事情:用ajax提问 或加载你的文件

无论哪种方式,您都无法从查看器的计算机加载文件,只能从您的服务器加载。同样,尝试从不同服务器加载的任何一种方式也会导致跨源相关限制。

于 2013-10-11T02:23:55.940 回答