在javascript中读取blob的内容

时间:2015-09-13 20:17:31

标签: javascript html xml html5 blob

最后,我成功地在本地创建了一个xml文件。使用JavaScript& amp; HTML 5中的BLOB(如下面的代码所示)。

此文件可以存储为文本或xml类型。 现在我的问题是如何使用JavaScript& amp;打开这个文件(再次从PC中的本地磁盘)。将特定节点的值加载到HTML表单中的相应字段。 ??

任何人都可以帮我这个吗?

//保存内容:

  function savedata() {

            var feederdocument = document.createElement("FeederDocument");
            var feederreport = document.createElement("FeederReport");
            if (document.getElementById("feederserialnumber").value == '') {
                alert('Please Enter the Serial Number')
            }
            else {

                var fileextns = '.xml';

                if (fileextns == '.xml') {
                    var xmlString = '<?xml version="1.0" encoding="utf-8" ?>';
                }
                else {
                    var xmlString = '';
                }

                var orderdata = document.createElement("OrderData");

                orderdata.appendChild(document.createElement("ClientName"));


                orderdata.appendChild(document.createElement("ContactPerson"));
                orderdata.appendChild(document.createElement("Country"));
                orderdata.appendChild(document.createElement("Designation"));
                orderdata.appendChild(document.createElement("Reference"));
                orderdata.appendChild(document.createElement("Department"));
                orderdata.appendChild(document.createElement("OrderNumber"));
                orderdata.appendChild(document.createElement("PhoneNumber"));
                orderdata.appendChild(document.createElement("SpecialistName"));
                orderdata.appendChild(document.createElement("MobileNumber"));
                orderdata.appendChild(document.createElement("Duration"));
                orderdata.appendChild(document.createElement("Emailid"));

                feederreport.appendChild(orderdata);
                feederdocument.appendChild(feederreport);

//用于以xml格式下载内容;我正在使用如图所示的blob:

var res = xmlString.concat(feederdocument.innerHTML);
            var textFileAsBlob = new Blob([res], { type: 'text/html' });
            var fileNameToSaveAs = (document.getElementById("feederserialnumber").value).concat(fileextns);

            var downloadLink = document.createElement("a");
            downloadLink.download = fileNameToSaveAs;
            downloadLink.innerHTML = "Download File";
            if (window.webkitURL != null) {

                downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
            }
            else {

                downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
                downloadLink.onclick = destroyClickedElement;
                downloadLink.style.display = "none";
                document.body.appendChild(downloadLink);
            }

            downloadLink.click();
        }
        function destroyClickedElement(event) {
            document.body.removeChild(event.target);
        }

0 个答案:

没有答案