文件上传及删除

文件上传及删除

相关文件:生成缩略图

 上传:

.aspx:

<input id="picFile1" runat="server" name="picFile" type="file" /><asp:Button ID="picUp"  runat="server" Text="上传" OnClick="picUp_Click"  /><asp:Label ID="Label1" runat="server" Text="上传成功" Visible="false"  ForeColor="Red"></asp:Label>

<div runat="server" id="dvLun" style="display: none">
                                                    <asp:Image ID="Image1" runat="server" Width="101px" Height="70px" /><%-- Width="280px" Height="220px"--%>
                                                </div>

 

.aspx.cs:

if (picFile1.PostedFile.ContentLength != 0)
            {
                //当前日期 加/  例子: 2009-6-25/
                string strPath = DateTime.Now.ToShortDateString() + "/";
                //文件名加后缀名           
                string fileName = picFile1.PostedFile.FileName.Substring(picFile1.PostedFile.FileName.LastIndexOf('\\') + 1);

        //扩展缀名

        //string exName = System.IO.Path.GetExtension(fileName);
                // 得到跟目录 /sjzSaveHouTai
                string virtualPath = Page.Request.ApplicationPath;
                //
                //string mPath = System.Web.HttpContext.Current.Request.MapPath("Uploads/" + strPath);
                string realPath = Server.MapPath("http://www.cnblogs.com/Uploads/picScroll/");//+ strPath

                if (!System.IO.Directory.Exists(realPath))
                {
                    System.IO.Directory.CreateDirectory(realPath);

                }
                try
                {
                    //字节大小
                    int size = picFile1.PostedFile.ContentLength;
                    //获得后缀
                    string exName = picFile1.PostedFile.FileName.Substring(picFile1.PostedFile.FileName.LastIndexOf(".") + 1).ToLower();

        //string exName = System.IO.Path.GetExtension(fileName);

                    //判断扩展名

                    if (exName != "jpg" && exName != "jpeg" && exName != "bmp" && exName != "gif")
                    {
                        ClientScript.RegisterStartupScript(GetType(), "", "<script type='text/javascript'>alert('禁止上传非图片格式!');</script>"); return;
                    }

       //生成文件名  另:如果批量上传,不要用此名,因为时间非常短,在同一秒钟的文件名都是一样的,根本无法区别.

                    string fn = System.IO.Path.GetFileName(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() +
                       DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + "." + exName);

                    picFile1.PostedFile.SaveAs(realPath + fn);
                    //picFile1.PostedFile.SaveAs(realPath + fileName);

                    //imguf.Src = "Uploads/" + fn;

                   
                    //文件路径
                    ViewState[picFile1.ID] = "Uploads/picScroll/"+ strPath+ fn;//

                    ViewState[picFile1.ID+"size"] = size;
                    //ViewState["picexName"] = exName;

       //alVeiwNum用来存储批量上传时的文件路径,此为ArrayList型的public static的实例
                    //alVeiwNum.Add("Uploads/picScroll/" + fileName);

              

                    picUp.Enabled = false;
                    Label1.Visible = true;

       Label1.Text = "上传成功"; 
                    //AddAcc.Enabled = false;

                    if (list.Count ==1)
                    {
                        dvLun.Style.Add("display", "block");
                        Image1.ImageUrl = "http://www.cnblogs.com/" + ViewState[picFile1.ID].ToString();
                    }

                }
                catch (Exception err)
                {
                    Response.Write(err.ToString());
                }
            }

 

 删除:

.aspx:

表头模板

<input id="chk" type="checkbox" onclick="selAll()">全选</input>

<script type="text/javascript">

        function selAll() {

            if (form1.chk.checked) {

                for (var i = 0; i < document.form1.elements.length; i++) {
                    var e = document.form1.elements[i];
                    if (e.name.indexOf("checkid") != -1) e.checked = true;
                }

            }
            else {

                for (var i = 0; i < document.form1.elements.length; i++) {
                    var e = document.form1.elements[i];
                    if (e.name.indexOf("checkid") != -1) e.checked = false;
                }

            }

        }

<script>

模板列里

<input name="checkid" type="checkbox" value='<%# Eval("id") %>'>

.aspx.cs

删除按钮事件

 

 if (Request.Form["checkid"] != null)
        {
            string sql = "delete from 表名 where id in (" + Request.Form["checkid"] + "); ";
            try
            {
                szzf.BLL.picScroll bPS = new szzf.BLL.picScroll();
                List<szzf.Model.picScroll> list = bPS.GetModelList("psid in (" + Request.Form["checkid"]+")");

               
                for (int i = 0; i < list.Count;i++ )
                {
                    int iIndex = list[i].psUrl.LastIndexOf('/');
                    string url  = list[i].psUrl;
                    string stFilename = url.Substring(iIndex + 1);

       //这里应为要删除文件路径,否则抛出异常
                    string realPath = Server.MapPath("http://www.cnblogs.com/"+list[i].psUrl);
                    File.Delete(realPath);
                   
                }

                int num = Maticsoft.DBUtility.DbHelperSQL.ExecuteSql(sql);
                init();
            }
            catch (System.Exception ex)
            {
                ClientScript.RegisterStartupScript(GetType(), "", "<script type='text/javascript'>alert('');</script>");
            }

        }

 

 

posted on 2010-07-18 17:01  血吸虫  阅读(543)  评论(0编辑  收藏  举报

导航