亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c#實現文件上傳下載功能的方法

發布時間:2020-07-02 14:27:53 來源:億速云 閱讀:241 作者:清晨 欄目:開發技術

小編給大家分享一下c#實現文件上傳下載功能的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!

NuGet 安裝SqlSugar

1.Model文件下新建 DbContext 類

 public class DbContext
  {
    public DbContext()
    {
      Db = new SqlSugarClient(new ConnectionConfig()
      {
        ConnectionString = "server=localhost;uid=root;pwd=woshishui;database=test",
        DbType = DbType.MySql,
        InitKeyType = InitKeyType.Attribute,//從特性讀取主鍵和自增列信息
        IsAutoCloseConnection = true,//開啟自動釋放模式和EF原理一樣我就不多解釋了
    });
    //調式代碼 用來打印SQL 
    Db.Aop.OnLogExecuting = (sql, pars) =>
    {
      Console.WriteLine(sql + "\r\n" +
               Db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
      Console.WriteLine();
    };

  }
  //注意:不能寫成靜態的,不能寫成靜態的
  public SqlSugarClient Db;//用來處理事務多表查詢和復雜的操作
  public SimpleClient<uploading> uploadingdb { get { return new SimpleClient<uploading>(Db); } }//用來處理Student表的常用操作
}

2.建uploading實體類

[SugarTable("uploading")]
  public class uploading
  {
  //指定主鍵和自增列,當然數據庫中也要設置主鍵和自增列才會有效
  [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
  public int id { get; set; }
  public string name { get; set; }
  public string path { get; set; }
}

3.Manager文件下建UploadingManager

 class UploadingManager : DbContext
  {
    public List<uploading> Query()
    {
      try
      {
        List<uploading> data = Db.Queryable<uploading>()
          .Select(f => new uploading
          {
            name = f.name,
            path = f.path
          })
          .ToList();
        return data;
      }
      catch (Exception e)
      {
        Console.WriteLine(e);
        throw;
      }
  }

  public List&lt;string&gt; GetName(string name)
  {
    List&lt;string&gt; data = Db.Queryable&lt;uploading&gt;()
      .Where(w=&gt;w.name== name)
      .Select(f =&gt; f.path)
      .ToList();
    return data;

  }
}

窗體加載Form1_Load

1.讀取到數據庫字段name并賦值

 private void Form1_Load(object sender, EventArgs e)
    {
      List<uploading> data = uploading.Query();
      foreach (var data1 in data)
      {
        comboBox1.Items.Add(data1.name);
      }
      comboBox1.SelectedIndex = 0;
  }

2.comboBox事件觸發條件查詢到上傳的path

 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
      List<string> data = uploading.GetName(comboBox1.Text);
    for (int i = 0; i &lt; data.Count; i++)
    {
      textBox1.Text = data[0];
    }
  }

3.上傳事件觸發

 private void Button1_Click(object sender, EventArgs e)
    {
       string path = textBox1.Text;
      CopyDirs(textBox3.Text,
        path);
    }
 private void CopyDirs(string srcPath, string aimPath)
    {
      try
      {
        // 檢查目標目錄是否以目錄分割字符結束如果不是則添加
        if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
        {
          aimPath += System.IO.Path.DirectorySeparatorChar;
        }
      // 判斷目標目錄是否存在如果不存在則新建
      if (!System.IO.Directory.Exists(aimPath))
      {
        System.IO.Directory.CreateDirectory(aimPath);
      }

      // 得到源目錄的文件列表,該里面是包含文件以及目錄路徑的一個數組
      // 如果你指向copy目標文件下面的文件而不包含目錄請使用下面的方法
      // string[] fileList = Directory.GetFiles(srcPath);
      string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
      // 遍歷所有的文件和目錄
      foreach (string file in fileList)
      {
        // 先當作目錄處理如果存在這個目錄就遞歸Copy該目錄下面的文件
        if (System.IO.Directory.Exists(file))
        {
          CopyDir(file, aimPath + System.IO.Path.GetFileName(file));

          DisplaylistboxMsg(&quot;上傳成功&quot;);
        }
        // 否則直接Copy文件
        else
        {
          System.IO.File.Copy(file, aimPath + System.IO.Path.GetFileName(file), true);
          DisplaylistboxMsg(&quot;上傳成功&quot;);
        }
      }
    }
    catch (Exception e)
    {
      DisplaylistboxMsg(&quot;上傳失敗&quot; + e.Message);
    }
  }

4.下載事件觸發

private void Button2_Click(object sender, EventArgs e)
    {
      CopyDir(@"\\10.55.2.3\mech_production_line_sharing\Test\" + textBox2.Text, textBox4.Text);
    }
private void CopyDir(string srcPath, string aimPath)

{

// 檢查目標目錄是否以目錄分割字符結束如果不是則添加

if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)

{

aimPath += System.IO.Path.DirectorySeparatorChar;

}

    // 判斷目標目錄是否存在如果不存在則新建
    if (!System.IO.Directory.Exists(aimPath))
    {
      System.IO.Directory.CreateDirectory(aimPath);
    }

    // 得到源目錄的文件列表,該里面是包含文件以及目錄路徑的一個數組
    // 如果你指向copy目標文件下面的文件而不包含目錄請使用下面的方法
    // string[] fileList = Directory.GetFiles(srcPath);
    string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
    // 遍歷所有的文件和目錄
    foreach (string file in fileList)
    {
      // 先當作目錄處理如果存在這個目錄就遞歸Copy該目錄下面的文件
      if (System.IO.Directory.Exists(file))
      {
        CopyDir(file, aimPath + System.IO.Path.GetFileName(file));
        DisplaylistboxMsg(&quot;下載成功&quot;);
      }
      // 否則直接Copy文件
      else
      {
        System.IO.File.Copy(file, aimPath + System.IO.Path.GetFileName(file), true);
        DisplaylistboxMsg(&quot;下載成功&quot;);
      }
    }
  }

看完了這篇文章,相信你對c#實現文件上傳下載功能的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

密云县| 伊金霍洛旗| 天长市| 栖霞市| 金沙县| 黔西县| 莆田市| 科技| 南部县| 武宁县| 盐亭县| 和林格尔县| 涿鹿县| 修武县| 阿拉尔市| 诸城市| 滦平县| 肥西县| 方城县| 洱源县| 五家渠市| 高邑县| 故城县| 沛县| 九江市| 富阳市| 聊城市| 松滋市| 平江县| 四平市| 策勒县| 宾川县| 磐安县| 剑川县| 鄂托克前旗| 屯门区| 枣阳市| 台南市| 金乡县| 贵德县| 辉南县|