导入Excel文件时Firefox跟Chrome获取不到导入文件的绝对路径
导入Excel文件时Firefox和Chrome获取不到导入文件的绝对路径
出于安全性的考虑,是禁止获取本地文件绝对路径的,但是我需要读取本地文件,再转换为datatable,有这样的需求,所以上网搜了一下,采用了以下的方式
出于安全性的考虑,是禁止获取本地文件绝对路径的,但是我需要读取本地文件,再转换为datatable,有这样的需求,所以上网搜了一下,采用了以下的方式
function getFileValue(id) {
var fullpath;
if ($.browser.msie) {
fullpath = getValueIE8(id);
} else if ($.browser.mozilla) {
res = getValueFF(id);
} else {
fullpath = getValueIE8(id);
}
$.post("./handler/ImportHandler.ashx", { "fullpath": fullpath }, function (data, status) {
if (status != "success") return;
alert(data);
var foos = $.parseJSON(data);
$("#datalist tbody").empty();
var tr = "<tr><th>Id</th><th>产品代码</th><th>产品名称</th><th>成本项目</th><th>单位</th><th>产量</th><th>总消耗01</th><th>总金额01</th><th>总消耗02</th><th>总金额02</th></tr>";
if (foos.length > 0) {
for (var j = 0; j < foos.length; j++) {
tr += "<tr><td>" + foos[j].id + "</td><td>" + foos[j].matcode + "</td><td>" + foos[j].matdes + "</td><td>" + foos[j].matgroup + "</td><td>" + foos[j].meaunit + "</td><td>" + foos[j].product + "</td><td>" + foos[j].AA01 + "</td><td>" + foos[j].AA02 + "</td><td>" + foos[j].AB01 + "</td><td>" + foos[j].AB02 + "</td></tr>";
}
}
else {
tr += "<td colspan='9'>没有符合条件的数据...</td>";
}
$("#datalist tbody").append($(tr));
$("#datalist tbody tr:even").css("background-color", "#D9E9C4");
});
}
function getValueFF(id) {
var ip = document.getElementById(id);
if (ip.files) {
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalFileRead')
}
catch (err) {
}
};
return ip.value;
}
function getValueIE8(id) {
var ip = document.getElementById(id);
ip.select();