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

C#簡(jiǎn)單實(shí)現(xiàn)文件上傳功能

 更新時(shí)間:2016年03月17日 15:30:17   投稿:lijiao  
這篇文章主要介紹了C#簡(jiǎn)單實(shí)現(xiàn)文件上傳功能,利用MVC+EF+LigerUI 實(shí)現(xiàn)的upload上傳功能,感興趣的小伙伴們可以參考一下

最近項(xiàng)目上的一個(gè)上傳文件功能,項(xiàng)目是MVC+EF+LigerUI 來(lái)做的,貼出來(lái)大家一起分享下

1、頁(yè)面需要引用這個(gè)JS 和 CSS

<script type="text/javascript" src="/Content/uploadify/jquery.uploadify.min.js"></script>

<link href="/Content/uploadify/uploadify.css" type="text/css" rel="stylesheet" />

2、頁(yè)面添加Upload.ashx

3、代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Web.Security;

namespace AL.Web {
 /// <summary>
 /// Upload 的摘要說(shuō)明
 /// </summary>
 public class Upload : IHttpHandler {

  public void ProcessRequest(HttpContext context) {
   context.Response.ContentType = "text/plain";
   //context.Response.Write("Hello World");

   string r = "";
   //此處有時(shí)候穿過(guò)來(lái)的sn后面還有一些亂七八糟的字符,沒(méi)研究什么意思,就判斷一下,截取一下就完事了,小項(xiàng)目~
   string sn = context.Request.QueryString["sn"];
   if (sn != null && sn.Length > 14) sn = sn.Substring(0, 14);

   if (context.User.Identity.IsAuthenticated == false) {
    // 未登錄用戶    
   }
   try {
    //獲取上傳的文件數(shù)據(jù)
    HttpPostedFile file = context.Request.Files["Filedata"];
    string fileName = file.FileName;
    string fileType = Path.GetExtension(fileName).ToLower();
    //由于不同瀏覽器取出的FileName不同(有的是文件絕對(duì)路徑,有的是只有文件名),故要進(jìn)行處理
    if (fileName.IndexOf(' ') > -1) {
     fileName = fileName.Substring(fileName.LastIndexOf(' ') + 1);
    } else if (fileName.IndexOf('/') > -1) {
     fileName = fileName.Substring(fileName.LastIndexOf('/') + 1);
    }
    //上傳的目錄
    string uploadDir = "~/Content/uploadfile/TMP/" + System.DateTime.Now.ToString("yyyyMM") + "/";
    //上傳的路徑
    //生成年月文件夾及日文件夾
    if (Directory.Exists(context.Server.MapPath(uploadDir)) == false) {
     Directory.CreateDirectory(context.Server.MapPath(uploadDir));
    }
    if (Directory.Exists(context.Server.MapPath(uploadDir + System.DateTime.Now.ToString("dd") + "/")) == false) {
     Directory.CreateDirectory(context.Server.MapPath(uploadDir + System.DateTime.Now.ToString("dd") + "/"));
    }

    uploadDir = uploadDir + System.DateTime.Now.ToString("dd") + "/";

    string uploadPath = uploadDir + FormsAuthentication.HashPasswordForStoringInConfigFile(fileName, "MD5").Substring(0, 8) + fileType;
    //保存文件
    file.SaveAs(context.Server.MapPath(uploadPath));
    //下面這句代碼缺少的話,上傳成功后上傳隊(duì)列的顯示不會(huì)自動(dòng)消失
    //DbHelperOleDb.ExecuteSql("insert into [temp](temp_sn,temp_Content) values('" + sn + "','" + uploadPath + "')");

    //Response.Write("1");
    //context.Response.Write("{'IsError':false, 'Data':'" + uploadPath + "'}");
    r = "{'IsError':false, 'Data':'" + uploadPath + "'}";
   } catch (Exception ex) {
    //Response.Write("0");
    //throw ex;
    //context.Response.Write("{IsError: true, data:'" + ex.Message + "'}");
    r = "{'IsError':true, 'Data':'" + ex.Message + "'}";
   } finally {
    r = r.Replace("'", "\"");
    context.Response.Write(r);
    context.Response.End();
   }
  }
  public bool IsReusable {
   get {
    return false;
   }
  }
 }
}

頁(yè)面前臺(tái)處理如下圖:

#FilesUrl 是一個(gè)文本框,將上傳文件的路徑賦值進(jìn)去,將地址存入數(shù)據(jù)庫(kù),后續(xù)直接根據(jù)地址可以下載查看。

以上就是實(shí)現(xiàn)C#文件上傳功能的簡(jiǎn)單三步,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • C#實(shí)現(xiàn)創(chuàng)建標(biāo)簽PDF文件的示例代碼

    C#實(shí)現(xiàn)創(chuàng)建標(biāo)簽PDF文件的示例代碼

    標(biāo)簽PDF文件包含描述文檔結(jié)構(gòu)和各種文檔元素順序的元數(shù)據(jù),是一種包含后端提供的可訪問(wèn)標(biāo)記,管理閱讀順序和文檔內(nèi)容表示的邏輯結(jié)構(gòu)的PDF文件。本文將用C#實(shí)現(xiàn)創(chuàng)建標(biāo)簽PDF文件,需要的可以參考一下
    2022-08-08
  • C#微信分享代碼

    C#微信分享代碼

    這篇文章主要為大家詳細(xì)介紹了C#微信分享的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Ruby創(chuàng)建數(shù)組方法總結(jié)

    Ruby創(chuàng)建數(shù)組方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于Ruby創(chuàng)建數(shù)組方法的知識(shí)點(diǎn)內(nèi)容,對(duì)戲有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • 一些C#常見(jiàn)面試題目以及答案總結(jié)

    一些C#常見(jiàn)面試題目以及答案總結(jié)

    這篇文章主要介紹了C#常見(jiàn)面試題目以及答案的相關(guān)資料,分別是C#編程語(yǔ)言中的委托、多線程、事件、異常處理、異步編程、LINQ、內(nèi)存管理、圖像處理、內(nèi)存管理、設(shè)計(jì)模式等概念和實(shí)現(xiàn)方法,需要的朋友可以參考下
    2025-03-03
  • 用C#編寫(xiě)ActiveX控件(三)

    用C#編寫(xiě)ActiveX控件(三)

    用C#編寫(xiě)ActiveX控件(三)...
    2007-03-03
  • unity 實(shí)現(xiàn)攝像機(jī)繞某點(diǎn)旋轉(zhuǎn)一周

    unity 實(shí)現(xiàn)攝像機(jī)繞某點(diǎn)旋轉(zhuǎn)一周

    這篇文章主要介紹了unity 實(shí)現(xiàn)攝像機(jī)繞某點(diǎn)旋轉(zhuǎn)一周,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • C#在MEF框架中實(shí)現(xiàn)延遲加載部件

    C#在MEF框架中實(shí)現(xiàn)延遲加載部件

    這篇文章介紹了C#在MEF框架中實(shí)現(xiàn)延遲加載部件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C# GDI在控件上繪圖的方法

    C# GDI在控件上繪圖的方法

    這篇文章主要介紹了C# GDI在控件上繪圖的方法,包括了常見(jiàn)的鼠標(biāo)事件及繪圖操作,需要的朋友可以參考下
    2014-09-09
  • c#之圓形無(wú)標(biāo)題欄橢圓窗體的實(shí)現(xiàn)詳解

    c#之圓形無(wú)標(biāo)題欄橢圓窗體的實(shí)現(xiàn)詳解

    本篇文章是對(duì)c#中圓形無(wú)標(biāo)題欄橢圓窗體的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 訪問(wèn)修飾符(C# 編程指南)

    訪問(wèn)修飾符(C# 編程指南)

    所有類型和類型成員都具有可訪問(wèn)性級(jí)別,用來(lái)控制是否可以在您程序集的其他代碼中或其他程序集中使用它們。您在聲明類型或成員時(shí)使用以下訪問(wèn)修飾符之一來(lái)指定其可訪問(wèn)性
    2011-02-02

最新評(píng)論

扶沟县| 徐水县| 扶绥县| 确山县| 东方市| 聊城市| 永胜县| 克什克腾旗| 林芝县| 龙山县| 当阳市| 广水市| 壶关县| 怀远县| 梁山县| 额尔古纳市| 吴忠市| 唐山市| 周宁县| 抚州市| 东阳市| 桂林市| 基隆市| 石家庄市| 淳化县| 木兰县| 渝北区| 濮阳市| 永昌县| 祁连县| 卫辉市| 天长市| 富宁县| 米易县| 太谷县| 和林格尔县| 安阳市| 洛川县| 图们市| 平定县| 永城市|