mvc actionresult返回各种文件

public ActionResult ReviewFile(string folderName, string fileBasename, string extendName)
{
//以后根据后缀名返回相应的文件
var fileFullName = "~/" + folderName + "/" + fileBasename + extendName;
var path = Server.MapPath(fileFullName);
switch (extendName)
{
case ".html":
return File(path, "text/html");
break;
case ".txt":
return File(path, "text/plain");
break;
case ".doc":
return File(path, "application/msword");
break;
case ".xls":
var downLoadFileName = fileBasename + ".xls";
return File(path, "application/ms-excel", downLoadFileName);
//return File(path, "application/x-excel");
break;
case ".pff":
return File(path, "application/ms-powerpoint");
break;
case ".pdf":
return File(path, "application/pdf");
break;
case ".zip":
return File(path, "application/zip");
break;
default:
var noPointExtentName = extendName.Substring(extendName.IndexOf(‘.‘) + 1);
return File(path, "image/" + noPointExtentName);
}
}

时间: 2024-10-06 23:35:14

mvc actionresult返回各种文件的相关文章

mvc ajax_返回数据

假设cshtml文件中是这样的:<script type="text/javascript"> $(document).ready(function(){ $("#btn").click(function(){ $.ajax({ type: 'POST', url: "/Home/MyAjax", data: { val1: $("#txt1").val(), val2: $("#txt2").

MVC ActionResult视图结果

摘要 MVC框架针对HttpResponse进行抽象与多态,使HttpResponse均可表示为ActionResult.那么,抽象和多态表现在哪里呢? //封装一个Action的结果. public abstract class ActionResult { protected ActionResult(); //启用对操作方法结果的处理. // 参数: // context: 用于执行结果的上下文.上下文信息包括控制器.HTTP 内容.请求上下文和路由数据. public abstract

MVC ActionResult派生类关系图

态度决定一切,我要改变的不仅仅是技术,还有对待事情的态度! 先上个图: 由上图可知,ActionResult为根节点,其下有很多子节点!下面简单介绍下: MVC中ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回字符串等.ActionResult是一个抽象类,它定义了唯一的ExecuteResult方法,参数为一个ControllerContext,下面为您介绍MVC中的A

Spring MVC 处理静态资源文件

摘要: 三个方案: 1.方案一:激活Tomcat的defaultServlet来处理静态文件 2.方案二: 在spring3.0.4以后版本提供了mvc:resources (需要配置annotation-driven) 3.方案三 ,使用<mvc:default-servlet-handler/>(需要配置annotation-driven) 一.问题:Spring MVC 处理静态资源文件 1. 以下情况需要先了解 1.1  如果你的DispatcherServlet拦截 *.do这样的U

Asp.Net Mvc异步上传文件的方式

今天试了下mvc自带的ajax,发现上传文件时后端action接收不到文件, Request.Files和HttpPostedFileBase都接收不到.....后来搜索了下才知道mvc自带的Ajax不支持文件上传,无奈之下只能用其他的方式 第一种方式:通过 jquery的ajaxSubmit --->(先引入jQuery脚本)需要引入jquery.form.min.js(可以通过NuGet下载) 直接上代码 @{ Layout = null; } <!DOCTYPE html> <

MVC中返回json数据的两种方式

MVC里面如果直接将数据返回到前端页面,我们常用的方式就是用return view(): 那么我不想直接用razor语法,毕竟razor这玩意儿实在是太难记了,还不如写ajax对接来得舒服不是 那么我们可以这么做 1.定义ActionResult,返回json,标记属性可以采用HttpPost,也可以是用HttpGet,按自己的需求来使用 public ActionResult UpdateDownloadInJson(string deviceNames,string programNames

.Net mvc 上传多文件

.net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略.. 调试环境 vs2017 控制器代码: [HttpPost] public ActionResult Upload(Int32 entityId, HttpPostedFileBase[] files) { for (int i = 0; i < Request.Files.Count; i++) { files[i] = Request.Files[i]; } //

六、Spring MVC之返回数据

前面几篇文章重点说明了一下怎么从前台传递参数到目标方法,还没有说怎么把结果返回给前台.本篇来讲述一下spring mvc怎么返回结果数据. 从使用形式上看,有以下几种方式:ModelAndView.Map.Model,这几种方式都可以返回数据到前台,本质上来看都是通过map的形式返回数据的.本系列文章着重于使用,深层次的原因,感兴趣的同志可以去调适源代码,这里只是结合使用方式,做简单的样例和分析. 1.ModelAndView的使用 /**  * 方法的返回值可以是ModelAndView类型,

ASP.NET MVC - 探究应用程序文件夹

为了学习 ASP.NET MVC,我们将构建一个 Internet 应用程序. 第 2 部分:探究应用程序文件夹. MVC 文件夹 一个典型的 ASP.NET MVC Web 应用程序的文件夹内容如下所示:   应用程序信息 PropertiesReferences 应用程序文件夹 App_Data 文件夹Content 文件夹Controllers 文件夹Models 文件夹Scripts 文件夹Views 文件夹 配置文件 Global.asaxpackages.configWeb.conf