ASP.net WebAPI 上傳圖片實(shí)例
更新時(shí)間:2013年12月16日 16:00:33 作者:
這篇文章主要介紹了ASP.net WebAPI 上傳圖片實(shí)例,有需要的朋友可以參考一下
復(fù)制代碼 代碼如下:
[HttpPost]
public Task<Hashtable> ImgUpload()
{
// 檢查是否是 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);
// 設(shè)置上傳目錄
var provider = new MultipartFormDataStreamProvider(dirTempPath);
//var queryp = Request.GetQueryNameValuePairs();//獲得查詢(xún)字符串的鍵值集合
var task = Request.Content.ReadAsMultipartAsync(provider).
ContinueWith<Hashtable>(o =>
{
Hashtable hash = new Hashtable();
hash["error"] = 1;
hash["errmsg"] = "上傳出錯(cuò)";
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"] = "請(qǐng)選擇上傳文件。";
}
else if (fileinfo.Length > maxSize)
{
hash["error"] = 1;
hash["errmsg"] = "上傳文件大小超過(guò)限制。";
}
else
{
string fileExt = orfilename.Substring(orfilename.LastIndexOf('.'));
//定義允許上傳的文件擴(kuò)展名
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"] = "上傳文件擴(kuò)展名是不允許的擴(kuò)展名。";
}
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生成幫助頁(yè)實(shí)例
- ASP.NET Core 2.0 WebApi全局配置及日志實(shí)例
- ASP.NET WebAPi(selfhost)實(shí)現(xiàn)文件同步或異步上傳
- 淺談ASP.Net Core WebApi幾種版本控制對(duì)比
- 為ASP.NET MVC及WebApi添加路由優(yōu)先級(jí)
- 在CentOS6.5上使用Jexus安裝部署ASP.NET MVC4和WebApi
- asp.net core 2.0 webapi集成signalr(實(shí)例講解)
- ASP.Net WebAPI與Ajax進(jìn)行跨域數(shù)據(jù)交互時(shí)Cookies數(shù)據(jù)的傳遞
- asp.net mvc webapi 實(shí)用的接口加密方法示例
- .net webapi接收xml格式數(shù)據(jù)的3種情況小結(jié)
相關(guān)文章
asp.net(vb)實(shí)現(xiàn)金額轉(zhuǎn)換成大寫(xiě)的函數(shù)
asp.net(vb)實(shí)現(xiàn)金額轉(zhuǎn)換成大寫(xiě)的函數(shù)代碼,需要的朋友可以參考下。2011-10-10
.Net Core簡(jiǎn)單使用Mvc內(nèi)置的Ioc(續(xù))
怎樣直接獲取Ioc中的實(shí)例對(duì)象,而不是以構(gòu)造函數(shù)的方式進(jìn)行獲取呢?這篇文章繼續(xù)為大家介紹.Net Core簡(jiǎn)單使用Mvc內(nèi)置的Ioc2018-03-03
ASP.NET中JSON的序列化和反序列化使用說(shuō)明
JSON是專(zhuān)門(mén)為瀏覽器中的網(wǎng)頁(yè)上運(yùn)行的JavaScript代碼而設(shè)計(jì)的一種數(shù)據(jù)格式。2011-07-07
ASP.NET中使用Application對(duì)象實(shí)現(xiàn)簡(jiǎn)單在線人數(shù)統(tǒng)計(jì)功能
這篇文章主要介紹了ASP.NET中使用Application對(duì)象實(shí)現(xiàn)簡(jiǎn)單在線人數(shù)統(tǒng)計(jì)功能,本文給出實(shí)現(xiàn)步驟和相應(yīng)代碼實(shí)例,需要的朋友可以參考下2015-06-06
asp.Net 中獲取一周第一天,一月第一天等實(shí)現(xiàn)代碼
.Net中獲取一周第一天、最后一天,一月第一天、最后一天2009-12-12
MVC+EasyUI+三層新聞網(wǎng)站建立 建站準(zhǔn)備工作(一)
這篇文章主要為大家詳細(xì)介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第一篇,建站的準(zhǔn)備工作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07

