基于ASP.NET MVC 4、WebApi、jQuery和FormData的多文件上传方法

本文介绍了一个使用ASP.NET MVC 4、WebApi、jQuery和FormData实现多文件上传的简单实例。在无法远程桌面连接服务器的情况下,作者通过创建一个通用的文件上传网站来更新应用系统文件。文章涵盖了路由配置、控制器代码、视图文件以及FormData对象的使用,强调了在HTML表单中设置enctype属性的重要性。
摘要由CSDN通过智能技术生成

通过<input type='file' />上传文件是网站应用系统的一个经典应用,可参考的文章较多。因为多种原因,笔者不能远程桌面连接服务器,只有通过网站方式上传更新的应用系统文件。正好五一几天,把原来的有关构思编程实现,即巩固了所学的ASP.NET MVC WebApi知识,也做一个通用的文件上传网站。本文不打算介绍实际的通用网站,而是用一个简单实例主要介绍相关技术。

1、构建和初始化路由

控制器采用默认路由,WebApi采用定制路由,见如下全局文件Global、默认过滤器配置、默认控制器路由配置和定制WebApi路由配置程序的代码:

using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;

namespace CSUST.Files
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()  // 全局文件 Global.asax.cs
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            this.SetJsonFormatter();
        }

        private void SetJsonFormatter()
        {
            GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
            System.Net.Http.Headers.MediaTypeHeaderValue jsonFormatter = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
            GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Add(jsonFormatter);  // 必须
        }
    }
}

using System.Web;
using System.Web.Mvc;

namespace CSUST.Files
{
    public class FilterConfig  // 过滤器配置 FilterConfig.cs
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }
    }
}
using System.Web.Mvc;
using System.Web.Routing;

namespace CSUST.Files
{
    public class RouteConfig  // 默认控制器路由配置 RouteConfig.cs
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值