首页 > 学院 > 开发设计 > 正文

WebApi 文件上传

2019-11-17 02:05:59
字体:
来源:转载
供稿:网友

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
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表