发布附件应用小研究

附件是多数消息发布系统所需要的高级组成,在没有任何参考的情况下,我利用一下来实现附件的个项功能;

1\上传,当然应用到组件,但注意啦.保存时候的路径为了能在页面上显示(譬如图片),有些附件是提供下栽的。也就对路径要求很小心了,代码

    if (FileUpload2.Enabled == true) //上传提供下载的文件
                    {
                        string strBaseLocation2 = Server.MapPath(".") + "\\upfordown\\";
                        FileUpload2.PostedFile.SaveAs(strBaseLocation2 + FileUpload2.FileName);
           downfile = "upfordown\\" + FileUpload2.FileName; //提供下载的文件路径,这里要写入库的,便于显示
                    }
                    else
                    {   downfile = "";
                    }

   insert  database ok ;

显示的页面,我用组件HyperLink,用其他组件显示,右键没有"目标另存为",测试好后代码:

          dbcen  SqlClass = new dbcen(); 
            SqlClass.SetCount(new_no);
            DataTable NewsTab = SqlClass.ReadNewsByID(new_no); //读入到表中,ReadNewsByID为写好的函数

       if (tab.Rows[0]["downfile"].ToString() != "")//表示有附件
                 {
                     Label_downfile.Text = "下载附件";                                                        
                     HyperLink2.NavigateUrl = tab.Rows[0]["downfile"].ToString();  //下载动作
                 }
                 else
                 {
                     HyperLink2.Enabled = false;
                     HyperLink2.Visible = false;
                 }

后台删除的时候代码

int new_no = Convert.ToInt32(e.CommandArgument);
dbcen SqlDel = new dbcen();
       

SqlDel.SetCount(new_no );  //以下四行为删除新闻时候,把附件也从系统中彻底删除,否则不删除附件
                        DataTable NewsTab = SqlDel.ReadNewsByID(new_no);
                        if(NewsTab.Rows[0]["downfile"]!="")//如果要删除文件
                        {
                            string file_lujing = Server.MapPath(".") +"\\"+ NewsTab.Rows[0]["downfile"].ToString();
                            System.IO.File.Delete(@file_lujing);//参考例子System.IO.File.Delete( @"c:\abc.txt" );
                       }

 SqlDel.ExecuteOleDbWrite("delete");//写执行

到晚上17:51分,终于全部写好,测试通过.附件这模块就算是搞好了。

该项对于一个高级的发布系统,提供多种应用是有积极意义的,包括应用多功能文本编辑器。自己做的虽然不是很好,但也是思考得来的。

原文地址:https://www.cnblogs.com/pyman/p/1335281.html