最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#?Web實現(xiàn)文件上傳的示例詳解

 更新時間:2023年11月09日 11:16:18   作者:大陽光男孩  
這篇文章主要為大家詳細介紹了C#?Web實現(xiàn)文件上傳的相關(guān)知識,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1.第一種上傳方式,基本通用于.net所有的框架

        [HttpPost]
        [Route("Common/uploadFile1")]
        public string uploads()
        {
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//獲取傳統(tǒng)context
            HttpRequestBase request = context.Request;//定義傳統(tǒng)request對象
            HttpFileCollectionBase files = request.Files;
            string fileSuffix = Path.GetExtension(files[0].FileName).ToLower();
            string fileId = Guid.NewGuid().ToString();
            string dateKey = DateTime.Now.ToString("yyyyMMdd");
            string savaPath, uri;     
            uri = @"/fileData/rest/" + dateKey + @"/";
            savaPath = request.MapPath(uri);
            if (!Directory.Exists(savaPath))
            {
                Directory.CreateDirectory(savaPath);
            }
            try
            {
                files[0].SaveAs(savaPath + fileId + fileSuffix);
                return uri + fileId + fileSuffix;
            }catch (Exception ex){
                return ex.Message;
            }
        }

2.WebAPI可以用這個來,但是在低一點的版本沒有IFormFile 這個對象

        /// <summary>
        /// 通用文件上傳接口
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("Common/uploadFile2")]
        public  async Task<Axios<string>>  upload(IFormFile file)
        {
            string fileSuffix = Path.GetExtension(file.FileName).ToLower();
            string fileId = Guid.NewGuid().ToString();
            string dateKey = DateTime.Now.ToString("yyyyMMdd");
            string savaPath,uri;
            uri = @"/fileData/rest/"  + dateKey  + @"/";
            savaPath =  Path.Combine(Directory.GetCurrentDirectory(), uri);
            if (!Directory.Exists(savaPath)){Directory.CreateDirectory(savaPath);}
            //創(chuàng)建特定名稱的文件流
            await using var stream = new FileStream(savaPath + fileId + fileSuffix, FileMode.Create);
            try
            {
                //上傳文件
                await file.CopyToAsync(stream);
                stream.Flush();
                return Axios<string>.ok(uri + fileId + fileSuffix);
            } catch (Exception ex)  {
                //上傳異常處理 
                return Axios<string>.fail(ex.Message);
            }

3.上傳方式,可以用于.netCore MVC方式的文件上傳

        [HttpPost]
        public JsonResult uploadX(HttpPostedFileBase file)
        {
            String suffix = file.FileName.Substring(file.FileName.LastIndexOf(".", StringComparison.Ordinal));
            string fileName = Guid.NewGuid().ToString().Replace("-", "") + suffix;
            string uri = string.Format("{0}/{1}/{2}/", "fileData", "rest", DateTime.Now.Year+""+DateTime.Now.Month +""+ DateTime.Now.Day);
            string filePath = Server.MapPath(string.Format("~/{0}",uri));
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            file.SaveAs(Path.Combine(filePath, fileName));
            return Json(uri + fileName);
        }

注:以上就是三種文件上傳的方式,可以采用第一種方式,兼容性好

到此這篇關(guān)于C# Web實現(xiàn)文件上傳的示例詳解的文章就介紹到這了,更多相關(guān)C#文件上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#加解密之AES算法的實現(xiàn)

    C#加解密之AES算法的實現(xiàn)

    一般我們來說呢,對于加密,我們分為可逆和不可逆??赡婕用苡挚煞譃閷ΨQ加密(AES、DES等)和非對稱加密(RSA),還有就是一些編碼加密等(BASE64);不可逆的呢,大部分又都稱為摘要算法(MD5、SHA)。本文將用C#實現(xiàn)AES算法,需要的可以參考一下
    2022-08-08
  • C#中ref關(guān)鍵字的用法

    C#中ref關(guān)鍵字的用法

    這篇文章介紹了C#中ref關(guān)鍵字的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Unity UGUI實現(xiàn)滑動翻頁直接跳轉(zhuǎn)頁數(shù)

    Unity UGUI實現(xiàn)滑動翻頁直接跳轉(zhuǎn)頁數(shù)

    這篇文章主要為大家詳細介紹了Unity UGUI實現(xiàn)滑動翻頁,直接跳轉(zhuǎn)頁數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 加快C#雙循環(huán)的速度效率的方法

    加快C#雙循環(huán)的速度效率的方法

    最近使用 C# 改寫以前編的一個程序,檢索數(shù)據(jù)賦值時,使用 FOR 循環(huán)結(jié)構(gòu),當(dāng)數(shù)據(jù)量在9萬條時,計算量很大,導(dǎo)致很耗時,何況計算完成同時加載到 chart 和 dataGridView 圖表控件中(沒有使用第三方控件),于是百度了很多循環(huán)手段,本文介紹了加快C#雙循環(huán)的速度效率的方法
    2025-02-02
  • 基于C#實現(xiàn)的三層架構(gòu)實例

    基于C#實現(xiàn)的三層架構(gòu)實例

    這篇文章主要介紹了基于C#實現(xiàn)的三層架構(gòu)實例,非常實用,需要的朋友可以參考下
    2014-08-08
  • C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法

    C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法

    這篇文章主要介紹了C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法,涉及C#針對DataTable操作的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • C#如何實現(xiàn)Excel中圖片的提取與本地保存方法

    C#如何實現(xiàn)Excel中圖片的提取與本地保存方法

    這篇文章主要介紹了C#實現(xiàn)Excel中圖片的提取與本地保存方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • C#中dynamic關(guān)鍵字的正確用法(推薦)

    C#中dynamic關(guān)鍵字的正確用法(推薦)

    dynamic的出現(xiàn)讓C#具有了弱語言類型的特性。dynamic是FrameWork4.0的新特性。這篇文章主要介紹了C#中dynamic關(guān)鍵字的正確用法(推薦)的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 關(guān)于C#反射 你需要知道的

    關(guān)于C#反射 你需要知道的

    這篇文章主要介紹了C#反射的相關(guān)知識,文中講解的非常詳細,代碼幫助大家更好的參考學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • winform去掉右上角關(guān)閉按鈕的方法

    winform去掉右上角關(guān)閉按鈕的方法

    這篇文章主要介紹了winform去掉右上角關(guān)閉按鈕的方法,需要的朋友可以參考下
    2014-02-02

最新評論

如东县| 中牟县| 新化县| 乐安县| 平武县| 周口市| 鄂托克旗| 新绛县| 彭水| 克拉玛依市| 灵武市| 旌德县| 阳城县| 刚察县| 兰坪| 泽普县| 涪陵区| 城固县| 云龙县| 孝感市| 罗山县| 木里| 宁明县| 杭州市| 南部县| 全椒县| 衡水市| 凤山市| 华蓥市| 霍州市| 恩施市| 灌南县| 新津县| 东乌| 胶南市| 白银市| 隆子县| 城市| 文山县| 西贡区| 宝坻区|