·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> WebApi 文件上传

WebApi 文件上传

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

WebApi 文件上传

1. 注意给form表单加上enctype = "multipart/form-data" 属性,否则会导致Action的参数HttpPostedFileBase 对象接收不到文件。

2. 注意文件大小,IIS中默认上传的文件大小为4MB ,超过这大小的文件需要在修改配置文件。

3. 如果引用了"js/jquery.mobile.min.js",给form表单加上data-Ajax="false",否则也收不到上传的文件。

if (!Request.Content.IsMimeMultipartContent())            {                throw new HttPResponseException(HttpStatusCode.UnsupportedMediaType);            }            string root = @"C:/";            var provider = new MultipartFormDataStreamProvider(root);            try            {                StringBuilder sb = new StringBuilder();                var task = Request.Content.ReadAsMultipartAsync(provider);                task.Wait();                foreach (var file in provider.FileData)                {                    FileInfo fileInfo = new FileInfo(file.LocalFileName);                    sb.Append(string.Format("Uploaded file: {0} ({1} bytes)\n", fileInfo.Name, fileInfo.Length));                }                return new HttpResponseMessage()                {                    Content = new StringContent(sb.ToString())                };            }            catch (System.Exception e)            {                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);            }
View Code