首页 > 解决方案 > 使用 FileReader 从服务器获取文件

问题描述

我正在使用 JavaScript 中的 FileReader 从服务器获取 Excel 模板文件。Microsoft 有自己的代码,但它仅适用于位于计算机中的文件,这意味着用户必须使用输入选择文件,然后它才能工作。这是微软提供的代码。

      var myFile = document.getElementById("file");
        var reader = new FileReader();

        reader.onload = (event) => {
            Excel.run((context) => {
                // strip off the metadata before the base64-encoded string
                var startIndex = reader.result.toString().indexOf("base64,");
                var workbookContents = reader.result.toString().substr(startIndex + 7);

                var sheets = context.workbook.worksheets;
                sheets.addFromBase64(
                    workbookContents,
                    null, // get all the worksheets
                    Excel.WorksheetPositionType.after, // insert them after the worksheet specified by the next parameter
                    sheets.getActiveWorksheet() // insert them after the active worksheet
                );
                return context.sync();
            });
        };

        reader.readAsDataURL(myFile.files[0]);

但是,在我的情况下,文件是通过服务器上传的,当用户单击导入按钮时,该服务器将自动获取。但这里的问题是我无法将在线文件与 FileReader 链接起来。

标签: javascripthtmljquerycssajax

解决方案


推荐阅读