共计 1183 个字符,预计需要花费 3 分钟才能阅读完成。
我的项目性能
本地解析
上传文件
<input
class="input"
ref="file"
type="file"
@change="handleFileChange"
/>
解析 file 对象
获取 file 对象,获取到本地 url 门路地址
// 获取本地上传文件门路
const getUploadUrl = function(flie) {
let url = "";
if (window.createObjectURL != undefined) {
// basic
url = window.createObjectURL(flie);
} else if (window.webkitURL != undefined) {
// webkit or chrome
url = window.webkitURL.createObjectURL(flie);
} else if (window.URL != undefined) {// mozilla(firefox)
url = window.URL.createObjectURL(flie);
}
return url; // 返回这样的一串地址 blob:http://www.xxxx.com/2c230fa5-ecc4-4314-ae7c-c39eaa66a945
};
解析文件,取得 xml 对象
const loadXML = function(xmlFile) {
var xmlDom = null;
if (window.ActiveXObject) {xmlDom = new ActiveXObject("Microsoft.XMLDOM");
xmlDom.async = "false";
xmlDom.load(xmlFile);
} else if (
document.implementation &&
document.implementation.createDocument
) {var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET", xmlFile, false);
xmlhttp.send(null);
xmlDom = xmlhttp.responseXML;
} else {xmlDom = null;}
return xmlDom; // 返回的是一个 doucument 的对象
};
document 对象转字符串
let url = getUploadUrl(file); // 文件对象
let xml = loadXML(url);
let text = new XMLSerializer().serializeToString(xml) // 将 text 赋值给 textarea 阔以了
// 赋值文本框
var element = document.getElementById('textarea');
element.value = text
会呈现乱码
解决乱码
应用 notepat++ 将文件关上,转换成 UTF- 8 编码格局,而后另存为一份新的文件
正文完
发表至: javascript
2021-05-25