WebApi2.0 多文件上传

 

源码:

public async Task<ListApiResponse<UploadFileResponse>> uploadfile()
{
ListApiResponse<UploadFileResponse> info = new ListApiResponse<UploadFileResponse>();
// 检查是否是 multipart/form-data
if (!Request.Content.IsMimeMultipartContent("form-data"))
{
info.ErrCode = ErrorCode.Error;
info.ErrMsg = ErrorMessageHelper.NoUpLoadFile;
}
else
{
HttpResponseMessage response = null;
List<UploadFileResponse> UploadFileList = null;
UploadFileResponse Entity = null;
try
{
UploadFileList = new List<Models.Response.Pub.UploadFileResponse>();
// 设置上传目录
var provider = new MultipartFormDataStreamProvider(@"" + dirTempPath + "");
// 接收数据,并保存文件
var bodyparts = await Request.Content.ReadAsMultipartAsync(provider);
if (bodyparts.FileData.Count > 0)
{
foreach (var item1 in bodyparts.FileData)
{
FileInfo fileinfo = new FileInfo(item1.LocalFileName);
string orfilename = item1.Headers.ContentDisposition.FileName.TrimStart('"').TrimEnd('"');
string fileExt = orfilename.Substring(orfilename.LastIndexOf('.'));
if (fileinfo.Length <= 0)
{
info.ErrMsg = ErrorMessageHelper.NoUpLoadFile;
info.ErrCode = ErrorCode.apiValidateFail;
}
else if (fileinfo.Length > Convert.ToInt64(FileMaxSize))
{
info.ErrMsg = ErrorMessageHelper.MaxUpLoadFileSize;
info.ErrCode = ErrorCode.apiValidateFail;
}
else if (string.IsNullOrWhiteSpace(fileExt) || !UploadFileType.Contains(fileExt.Substring(1)))
{
info.ErrMsg = ErrorMessageHelper.UpLoadType;
info.ErrCode = ErrorCode.apiValidateFail;
}
else
{
string guid = System.Guid.NewGuid().ToString("N").ToLower();
fileinfo.CopyTo(Path.Combine(dirTempPath, guid + fileExt), true);
Entity = new UploadFileResponse(orfilename, guid + fileExt, FilePathShow + guid + fileExt);
UploadFileList.Add(Entity);
info.ErrCode = ErrorCode.Success;
}
fileinfo.Delete();
}
info.Data = UploadFileList;
}
else
{
info.ErrCode = ErrorCode.Error;
info.ErrMsg = ErrorMessageHelper.NoUpLoadFile;
}
}
catch (Exception ex)
{
info.ErrMsg = ErrorMessageHelper.Fail;
info.ErrCode = ErrorCode.Error;
}
}
return info;
}

配置文件

 

转载于:https://www.cnblogs.com/101Love/p/7761076.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值