1
  • 我的本地机器上有一个文本文件。
  • 我在jsp页面中有一个按钮。
  • 单击按钮时,我需要获取文本文件内容。
  • 该文件有n个内容。

谁能给我javascript函数来实现这一点。

4

1 回答 1

1

您应该在问题中指定您希望读取客户端文件,因为我看到很多都是指服务器端读取。

你应该看看 FileAPI - 一个 HTML 5 Javascript 附加项,它允许 JavaScript 通过文件输入读取文件内容。

我正在为您编写代码示例 - 但这是一个您应该阅读的好网站

http://www.htmlgoodies.com/beyond/javascript/read-text-files-using-the-javascript-filereader.html#fbid=4Fhi9T4mEAA

如果没有 FileAPI - 您仍然可以使用带有 target="some iframe" 的表单中的文件输入字段 - 然后让服务器上传文件并返回文本。(FormData 允许在 Ajax 中上传文件,但并非所有浏览器都支持)。

所以 File API 是你的选择 这里是你如何使用 File API

<input type="file"/>
<script>
$(function(){
            $("input").change(function(e){
                    console.log(["file changed",e]);
                var myFile = e.target.files[0];
                var reader = new FileReader();
                reader.onload = function(e){
                    console.log(["this is the contents of the file",e.target.result]);
                };
                reader.readAsText(myFile)

            });
        }
)
</script>

您还可以实现拖放界面(如 google gmail 有)

        $("div").on("dragover",function(e){
            e.dataTransfer = e.originalEvent.dataTransfer;
                e.stopPropagation();
                e.preventDefault();
                e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.

        }).on("drop",function(e){
                    e.dataTransfer = e.originalEvent.dataTransfer;
                    e.stopPropagation();
                    e.preventDefault();
                    console.log(["selected files", e.dataTransfer.files])});
于 2013-02-22T08:50:02.357 回答