我正在使用选择文件夹对话框来获取多个文件。我需要解析该文件夹上的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);
});
答案 0 :(得分:1)
您无法使用ajax来阅读用户的文件&#39;在文件系统中,您可以使用FileReader对象来读取文件数据。
$("#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;