为什么文件无法正确保存?

时间:2018-01-01 12:47:08

标签: javascript c# angularjs asp.net-mvc excel

客户端浏览器从服务器获取excel文件管理器并下载到loacal机器。

以下是服务器端向客户端发送响应的代码:

     public ActionResult GetExcel(int month, int year)
    {
        var workbook = CreateWorkSheet1.WriteExcelWithNPOI();
        using (var exportData = new System.IO.MemoryStream())
        {
            Response.Clear();
            workbook.Write(exportData);
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", "ContactNPOI.xlsx"));
            Response.BinaryWrite(exportData.ToArray());
            Response.End();
        }

        return View(workbook);
    }

这是我在客户端的javascript代码,它从上面的服务器方法获得结果:

    $scope.downloadFile = function(){
        return $http.get("../WsAvivim/SaveToClientDepartmentRepotr/GetExcel?" + "year=" + $scope.year + "&month=" + $scope.month).then(function (response) {
            var f = response.data;
            var ref = document.createElement("a");
            ref.href = "data:" + f.ContentType + ";base64," + f.FileContents;
            ref.download = f.FileDownloadName;
            ref.click();

        });

正如您在上面的示例中所见,javascript从服务器获取结果并尝试保存excel文件。文件已保存。

但是当它保存在浏览器上时,它看起来像这样:

enter image description here

正如你在上面的图片中看到的那样,出了问题,文件无法打开。

知道我的代码有什么问题吗?为什么文件无法正常保存?

0 个答案:

没有答案