多维表格

44 lines
1.1 KiB

// Ref : https://stackoverflow.com/a/12002275
// Tested in Mozilla Firefox browser, Chrome
function ReadFileAllBrowsers(FileElement, CallBackFunction) {
try {
if (!FileElement.files || !FileElement.files.length) { return CallBackFunction() }
const file = FileElement.files[0]
if (file) {
const reader = new FileReader()
reader.readAsText(file, 'UTF-8')
reader.onload = function(evt) {
CallBackFunction(evt.target.result)
}
reader.onerror = function(evt) {
CallBackFunction()
}
}
} catch (Exception) {
const fallBack = ieReadFile(FileElement.value)
// eslint-disable-next-line eqeqeq
if (fallBack != false) {
CallBackFunction(fallBack)
}
}
}
/// Reading files with Internet Explorer
function ieReadFile(filename) {
try {
// eslint-disable-next-line no-undef
const fso = new ActiveXObject('Scripting.FileSystemObject')
const fh = fso.OpenTextFile(filename, 1)
const contents = fh.ReadAll()
fh.Close()
return contents
} catch (Exception) {
return false
}
}
export default ReadFileAllBrowsers