您现在的位置是:网站首页> 编程资料编程资料
ASP.net WebAPI 上传图片实例_实用技巧_
2023-05-24
316人已围观
简介 ASP.net WebAPI 上传图片实例_实用技巧_
复制代码 代码如下:
[HttpPost]
public Task
{
// 检查是否是 multipart/form-data
if (!Request.Content.IsMimeMultipartContent("form-data"))
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
//文件保存目录路径
string SaveTempPath = "~/SayPlaces/" + "/SayPic/SayPicTemp/";
String dirTempPath = HttpContext.Current.Server.MapPath(SaveTempPath);
// 设置上传目录
var provider = new MultipartFormDataStreamProvider(dirTempPath);
//var queryp = Request.GetQueryNameValuePairs();//获得查询字符串的键值集合
var task = Request.Content.ReadAsMultipartAsync(provider).
ContinueWith
{
Hashtable hash = new Hashtable();
hash["error"] = 1;
hash["errmsg"] = "上传出错";
var file = provider.FileData[0];//provider.FormData
string orfilename = file.Headers.ContentDisposition.FileName.TrimStart('"').TrimEnd('"');
FileInfo fileinfo = new FileInfo(file.LocalFileName);
//最大文件大小
int maxSize = 10000000;
if (fileinfo.Length <= 0)
{
hash["error"] = 1;
hash["errmsg"] = "请选择上传文件。";
}
else if (fileinfo.Length > maxSize)
{
hash["error"] = 1;
hash["errmsg"] = "上传文件大小超过限制。";
}
else
{
string fileExt = orfilename.Substring(orfilename.LastIndexOf('.'));
//定义允许上传的文件扩展名
String fileTypes = "gif,jpg,jpeg,png,bmp";
if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(fileTypes.Split(','), fileExt.Substring(1).ToLower()) == -1)
{
hash["error"] = 1;
hash["errmsg"] = "上传文件扩展名是不允许的扩展名。";
}
else
{
String ymd = DateTime.Now.ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", System.Globalization.DateTimeFormatInfo.InvariantInfo);
fileinfo.CopyTo(Path.Combine(dirTempPath, newFileName + fileExt), true);
fileinfo.Delete();
hash["error"] = 0;
hash["errmsg"] = "上传成功";
}
}
return hash;
});
return task;
}
您可能感兴趣的文章:
- Asp.net core WebApi 使用Swagger生成帮助页实例
- ASP.NET Core 2.0 WebApi全局配置及日志实例
- ASP.NET WebAPi(selfhost)实现文件同步或异步上传
- 浅谈ASP.Net Core WebApi几种版本控制对比
- 为ASP.NET MVC及WebApi添加路由优先级
- 在CentOS6.5上使用Jexus安装部署ASP.NET MVC4和WebApi
- asp.net core 2.0 webapi集成signalr(实例讲解)
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
- asp.net mvc webapi 实用的接口加密方法示例
- .net webapi接收xml格式数据的3种情况小结
相关内容
- GMap.Net开发之自定义Marker使用方法_实用技巧_
- 注册或者点击按钮时,怎么防止用户重复提交数据(实例讲解)_实用技巧_
- ASP.NET中 Execl导出的六种方法实例_实用技巧_
- ASP.NET对HTML页面元素进行权限控制(一)_实用技巧_
- ASP.NET对HTML页面元素进行权限控制(二)_实用技巧_
- ASP.NET对HTML页面元素进行权限控制(三)_实用技巧_
- Asp.Net(C#)自动执行计划任务的程序实例分析分享_实用技巧_
- dotnet封装的kindeditor编辑器控件_实用技巧_
- asp.net发邮件的几种方法汇总_实用技巧_
- asp.net 文件上传实例汇总_实用技巧_
