public override void ExecuteResult(ControllerContext context)
        {
            byte[] data = new CsvFileCreator().AsBytes(ModelListing);

            var fileResult = new FileContentResult(data, "text/csv")
            {
                FileDownloadName = "CsvFile.csv"
            };

            fileResult.ExecuteResult(context);
        }
        public override void ExecuteResult(ControllerContext context)
        {
            var xmlSerializerNamespaces = new XmlSerializerNamespaces();
            xmlSerializerNamespaces.Add(string.Empty, string.Empty);

            var xmlWriterSettings = new XmlWriterSettings();
            xmlWriterSettings.Indent = false;
            xmlWriterSettings.OmitXmlDeclaration = true;

            var xmlSerializer = new XmlSerializer(typeof (Projects));

            string xml;
            using (var textWriter = new StringWriter())
            {
                using (XmlWriter xmlWriter = XmlWriter.Create(textWriter, xmlWriterSettings))
                {
                    xmlSerializer.Serialize(xmlWriter, _model, xmlSerializerNamespaces);
                }
                xml = textWriter.ToString();
            }
            var fileContentResult = new FileContentResult(Encoding.UTF8.GetBytes(xml), "text/xml");
            fileContentResult.FileDownloadName = "status.xml";
            fileContentResult.ExecuteResult(context);
        }
示例#3
-1
        public override void ExecuteResult(ControllerContext context)
        {
            var result = new FileContentResult(
                  _chart.GetBytes(_imageType),
                  "image/" + _imageType);

            result.ExecuteResult(context);
        }
示例#4
-1
        /// <summary>
        /// 导出文件
        /// </summary>
        /// <param name="fileContents">字节数组</param>
        /// <param name="outputName">要输出的文件名称,含扩展名</param>
        public void OutPut(byte[] fileContents, string outputName)
        {
            var fileResult = new FileContentResult(fileContents, MimeMapping.GetMimeMapping(outputName))
            {
                FileDownloadName = outputName
            };

            fileResult.ExecuteResult(this.context);
        }
示例#5
-1
        public override void ExecuteResult(ControllerContext context)
        {
            //excel -> icon-pageexcel
            //xml -> icon-pagecode
            //csv -> icon-pageattach

            FileContentResult contentResult = null;

            string jsonData = JSON.Serialize(data);

            if (exportFormat == "icon-pagecode")
                jsonData = jsonData.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;");

            SubmitHandler handler = new SubmitHandler(jsonData);
            XmlNode xmlData = handler.Xml;

            switch (exportFormat)
            {
                case "icon-pageexcel":
                    XslCompiledTransform xtExcel = new XslCompiledTransform();
                    xtExcel.Load(HttpContext.Current.Server.MapPath("~/Content/ExportTemplate/Excel.xsl"));
                    StringBuilder resultExcelString = new StringBuilder();
                    XmlWriter excelWriter = XmlWriter.Create(resultExcelString);
                    xtExcel.Transform(xmlData, excelWriter);

                    contentResult = new FileContentResult(Encoding.UTF8.GetBytes(resultExcelString.ToString()), "application/vnd.ms-excel");
                    contentResult.FileDownloadName = DateTime.Now.ToString() + ".xls";
                    break;
                case "icon-pagecode":
                    contentResult = new FileContentResult(Encoding.UTF8.GetBytes(xmlData.OuterXml), "application/xml");
                    contentResult.FileDownloadName = DateTime.Now.ToString() + ".xml";
                    break;
                case "icon-pageattach":
                    XslCompiledTransform xtCsv = new XslCompiledTransform();
                    xtCsv.Load(HttpContext.Current.Server.MapPath("~/Content/ExportTemplate/Csv.xsl"));
                    StringBuilder resultCsvString = new StringBuilder();

                    XmlWriterSettings settings = new XmlWriterSettings();
                    settings.OmitXmlDeclaration = true;
                    settings.ConformanceLevel = ConformanceLevel.Fragment;
                    settings.CloseOutput = false;

                    XmlWriter csvWriter = XmlWriter.Create(resultCsvString, settings);
                    xtCsv.Transform(xmlData, csvWriter);

                    contentResult = new FileContentResult(Encoding.UTF8.GetBytes(resultCsvString.ToString()), "application/octet-stream");
                    contentResult.FileDownloadName = DateTime.Now.ToString() + ".csv";
                    break;
                default:
                    break;
            }

            if(contentResult != null)
                contentResult.ExecuteResult(context);
        }