C# winfrom使用ListView实现文件上传,并显示文件对应图标,文件是以image类型存在数据库, 同时实现打开、下载、删除功能(一)

    技术2022-07-15  50

    效果图:

    1、添加listview控件

    2、添加imagelist,并上传图标文件,设置key值

    3、编写上传附件按钮代码

    private void buttonUpload_Click(object sender, EventArgs e) { try { //listView1.Items.Clear(); listView1.SmallImageList = imageList1; OpenFileDialog ofd = new OpenFileDialog(); ofd.ShowDialog(); //得到上传文件的完整名 string loadFullName = ofd.FileName.ToString(); //上传文件的文件名 string loadName = loadFullName.Substring(loadFullName.LastIndexOf("\\") + 1); //上传文件的类型 string loadType = loadFullName.Substring(loadFullName.LastIndexOf(".") + 1); string ex = loadName.Substring(loadName.IndexOf('.')); if (!imageList1.Images.Keys.Contains(ex)) { imageList1.Images.Add(ex, Icon.ExtractAssociatedIcon(loadFullName)); } ListViewItem lvi = new ListViewItem(); lvi.Text = loadName; lvi.ImageIndex = imageList1.Images.Keys.IndexOf(ex); listView1.Items.Add(lvi); dic.Add(loadFullName, Util.Pub.GetBytes(loadFullName)); } catch (Exception ex) { MessageBox.Show(ex.Message); } }

    注:将文件保存为byte类型

    dic.Add(loadFullName, Util.Pub.GetBytes(loadFullName));

    public static byte[] GetBytes(string FileName)         {             FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);             byte[] buffur = new byte[fs.Length];             fs.Read(buffur, 0, (int)fs.Length);             fs.Close();

                return buffur;         }

    Processed: 0.012, SQL: 9