ASP.net WebAPI怎么上传图片

本篇内容主要讲解“ASP.net WebAPI怎么上传图片”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.net WebAPI怎么上传图片”吧!

复制代码 代码如下:

ASP.net WebAPI怎么上传图片

[HttpPost]
publicTask<Hashtable>ImgUpload()
{
//检查是否是multipart/form-data
if(!Request.Content.IsMimeMultipartContent("form-data"))
thrownewHttpResponseException(HttpStatusCode.UnsupportedMediaType);
//文件保存目录路径
stringSaveTempPath="~/SayPlaces/"+"/SayPic/SayPicTemp/";
StringdirTempPath=HttpContext.Current.Server.MapPath(SaveTempPath);
//设置上传目录
varprovider=newMultipartFormDataStreamProvider(dirTempPath);
//varqueryp=Request.GetQueryNameValuePairs();//获得查询字符串的键值集合
vartask=Request.Content.ReadAsMultipartAsync(provider).
ContinueWith<Hashtable>(o=>
{
Hashtablehash=newHashtable();
hash["error"]=1;
hash["errmsg"]="上传出错";
varfile=provider.FileData[0];//provider.FormData
stringorfilename=file.Headers.ContentDisposition.FileName.TrimStart('"').TrimEnd('"');
FileInfofileinfo=newFileInfo(file.LocalFileName);
//最大文件大小
intmaxSize=10000000;
if(fileinfo.Length<=0)
{
hash["error"]=1;
hash["errmsg"]="请选择上传文件。";
}
elseif(fileinfo.Length>maxSize)
{
hash["error"]=1;
hash["errmsg"]="上传文件大小超过限制。";
}
else
{
stringfileExt=orfilename.Substring(orfilename.LastIndexOf('.'));
//定义允许上传的文件扩展名
StringfileTypes="gif,jpg,jpeg,png,bmp";
if(String.IsNullOrEmpty(fileExt)||Array.IndexOf(fileTypes.Split(','),fileExt.Substring(1).ToLower())==-1)
{
hash["error"]=1;
hash["errmsg"]="上传文件扩展名是不允许的扩展名。";
}
else
{
Stringymd=DateTime.Now.ToString("yyyyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo);
StringnewFileName=DateTime.Now.ToString("yyyyMMddHHmmss_ffff",System.Globalization.DateTimeFormatInfo.InvariantInfo);
fileinfo.CopyTo(Path.Combine(dirTempPath,newFileName+fileExt),true);
fileinfo.Delete();
hash["error"]=0;
hash["errmsg"]="上传成功";
}
}
returnhash;
});
returntask;
}

到此,相信大家对“ASP.net WebAPI怎么上传图片”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

发布于 2021-07-24 22:38:11
收藏
分享
海报
0 条评论
181
上一篇:Java中利用redis实现一个LBS服务 下一篇:怎么在Lua中管理C对象
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码