如何使用jquery获取文件的url

时间:2018-05-01 03:38:32

标签: jquery xml file

我正在使用选择文件夹对话框来获取多个文件。我需要解析该文件夹上的XML文件。但是我很难获得文件路径。你能帮我吗。

//Onclick choose path
$("input[name='file_path']").click(function(){

    $("#myInput").trigger('click');
});
$("#myInput").change(function() {
    var names = [];
    for (var i = 0; i < $(this).get(0).files.length; ++i)
    {
        var F_name= $(this).get(0).files[i].name;
        names.push(F_name);
        var extension = F_name.replace(/^.*\./, '');
        if(extension == "xml")
        {   
            $.ajax({
            type: "GET" ,
            url:  F_name,
            dataType: "xml" ,
            success: function(xml) {    

                    alert($(this).find('title-group article-title').text());                
            }

            });
        }       
    }
    $("input[name=file_path]").val(names);

});

1 个答案:

答案 0 :(得分:1)

您无法使用ajax来阅读用户的文件&#39;在文件系统中,您可以使用FileReader对象来读取文件数据。

&#13;
&#13;
$("#myInput").change(function() {
    var names = [];
    for (var i = 0; i < this.files.length; ++i)
    {
        var F_name = this.files[i].name;
        names.push(F_name);
        var extension = F_name.replace(/^.*\./, '');
        if(extension == "xml")
        {   
            var rd = new FileReader();
            rd.onload = function(e){   
                var xmlDoc = $.parseXML(this.result);
                var $xml = $(xmlDoc);
                console.log($xml.find('title-group article-title').text());                
            };
            rd.readAsText(this.files[i]);
        }       
    }
    $("input[name=file_path]").val(names);

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type=file id=myInput multiple>
<input name=file_path>
&#13;
&#13;
&#13;