亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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();//獲得查詢字符串的鍵值集合
    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;
}

相關(guān)文章

  • ASP.Net中表單POST到其他頁(yè)面的方法分享

    ASP.Net中表單POST到其他頁(yè)面的方法分享

    這篇文章主要介紹了ASP.Net中表單POST到其他頁(yè)面的方法,需要的朋友可以參考下
    2014-02-02
  • 使用FlashPaper在線轉(zhuǎn)換.doc為.swf

    使用FlashPaper在線轉(zhuǎn)換.doc為.swf

    Flashpaper的使用相信大多數(shù)人都知道,這里的Demo是用于在線轉(zhuǎn)換 .doc文件轉(zhuǎn)換為 .swf的flash文件。
    2011-02-02
  • 國(guó)產(chǎn)化之銀河麒麟安裝.netcore3.1的詳細(xì)步驟(手動(dòng)安裝)

    國(guó)產(chǎn)化之銀河麒麟安裝.netcore3.1的詳細(xì)步驟(手動(dòng)安裝)

    這篇文章主要介紹了國(guó)產(chǎn)化之銀河麒麟安裝.netcore3.1的詳細(xì)步驟(手動(dòng)安裝),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • .Net中Task Parallel Library的進(jìn)階用法

    .Net中Task Parallel Library的進(jìn)階用法

    這篇文章介紹了.Net中Task Parallel Library的進(jìn)階用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • asp.net 通過(guò)httpModule計(jì)算頁(yè)面的執(zhí)行時(shí)間

    asp.net 通過(guò)httpModule計(jì)算頁(yè)面的執(zhí)行時(shí)間

    有時(shí)候我們想檢測(cè)一下網(wǎng)頁(yè)的執(zhí)行效率。記錄下開(kāi)始請(qǐng)求時(shí)的時(shí)間和頁(yè)面執(zhí)行完畢后的時(shí)間點(diǎn),這段時(shí)間差就是頁(yè)面的執(zhí)行時(shí)間了。要實(shí)現(xiàn)這個(gè)功能,通過(guò)HttpModule來(lái)實(shí)現(xiàn)是最方便而且準(zhǔn)確的。
    2011-02-02
  • .Net Core 實(shí)現(xiàn)圖片驗(yàn)證碼的實(shí)現(xiàn)示例

    .Net Core 實(shí)現(xiàn)圖片驗(yàn)證碼的實(shí)現(xiàn)示例

    這篇文章主要介紹了.Net Core 實(shí)現(xiàn)圖片驗(yàn)證碼的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • .NET中OpenFileDialog使用線程報(bào)錯(cuò)的解決方法

    .NET中OpenFileDialog使用線程報(bào)錯(cuò)的解決方法

    這篇文章主要為大家詳細(xì)介紹了.NET中OpenFileDialog使用線程報(bào)錯(cuò)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • .net三層結(jié)構(gòu)初探分析

    .net三層結(jié)構(gòu)初探分析

    最近開(kāi)始對(duì)架構(gòu)開(kāi)始了研究,當(dāng)然由于水平不夠,先研究了“簡(jiǎn)單的三層結(jié)構(gòu)”,至于“抽象工廠模式”放后面來(lái)研究吧!
    2008-09-09
  • .NET?Core實(shí)現(xiàn)企業(yè)微信消息推送

    .NET?Core實(shí)現(xiàn)企業(yè)微信消息推送

    這篇文章介紹了.NET?Core實(shí)現(xiàn)企業(yè)微信消息推送的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • DataGrid 動(dòng)態(tài)添加模板列 實(shí)現(xiàn)代碼

    DataGrid 動(dòng)態(tài)添加模板列 實(shí)現(xiàn)代碼

    模版控件能讓用戶幾乎不用花費(fèi)任何時(shí)間就創(chuàng)建出復(fù)雜的用戶界面. Asp.net有很多控件都使用了模版技術(shù)(DataGrid就是一個(gè)例子). 而這些控件都工作得很好, 通常, 模版可以被保存為ascx文件以增加復(fù)用性. 很有可能, 事前你是不知道你的控件是怎么布局的, 而且你需要?jiǎng)討B(tài)的添加一些模版以應(yīng)付不同的事件.
    2009-04-04

最新評(píng)論