繁体   English   中英

如何使用 C# asp.net 在 GridView 中添加文件上传日期和/或时间?

[英]How to add a file upload date and/or time in GridView using C# asp.net?

protected void Button2_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            string fileExtenstion = System.IO.Path.GetExtension(FileUpload1.FileName);
            if (fileExtenstion.ToLower() != ".doc" && fileExtenstion.ToLower() != ".docx")
            {
                Label1.Text = "Only files of docx extenstion are allowed";
                Label1.ForeColor = System.Drawing.Color.Red;
            }
            else
            {
                FileUpload1.SaveAs(Server.MapPath("~/uploads/" + FileUpload1.FileName));
                Label1.Text = "File Uploaded successfully";
                Label1.ForeColor = System.Drawing.Color.Green;
                string[] filepaths = Directory.GetFiles(Server.MapPath("~/uploads/"));
                DataTable dt = new DataTable();
                DataRow dr;
                dt.Columns.Add("filenames");
                foreach (string filepath in filepaths)
                {
                    dr = dt.NewRow();
                    dr["filenames"] = Path.GetFileName(filepath).ToString();
                    dt.Rows.Add(dr);
                }
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
        }
        else
        {
            Label1.Text = "Please upload the file";
            Label1.ForeColor = System.Drawing.Color.Red;
        }
    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow gr = GridView1.SelectedRow;
        string filepath = Server.MapPath("~/upload/" + gr.Cells[0].Text);
        Response.ContentType = ContentType;
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filepath));
        Response.WriteFile(filepath);

        Response.End();
    }

所以这段代码基本上是让用户上传文件,并显示可以下载的上传文件的名称。 不,我在 Gridview 中创建了边界字段。 有人可以告诉我如何将文件上传时间和日期显示为上面显示的相同代码吗?
非常感谢。

您可以使用以下方法获取文件的创建时间和修改时间。

DateTime 创建 = File.GetCreationTime(@"C:\\test.txt"); DateTime 修改 = File.GetLastWriteTime(@"C:\\test.txt");

然后您可以在日期时间的数据源中再添加一列以在 GridView 上显示它。

感谢和问候, Dilshad Gulam Khan。

在 UpLoadFile 控件中,无法通过以下方式检索文件创建日期

上传文件,因此您可以将当前时间设置为文件上传时间。

代码:

protected void Button2_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            {
                string fileExtenstion = System.IO.Path.GetExtension(FileUpload1.FileName);
                if (fileExtenstion.ToLower() != ".doc" && fileExtenstion.ToLower() != ".docx")
                {
                    Label1.Text = "Only files of docx extenstion are allowed";
                    Label1.ForeColor = System.Drawing.Color.Red;
                }
                else
                {
                    string date = DateTime.Now.ToString("h:mm:ss tt");
                    FileUpload1.SaveAs(Server.MapPath("~/uploads/" + FileUpload1.FileName));
                    Label1.Text = "File Uploaded successfully";
                    Label1.ForeColor = System.Drawing.Color.Green;
                    string[] filepaths = Directory.GetFiles(Server.MapPath("~/uploads/"));

                    DataTable dt = new DataTable();
                    DataRow dr;
                    dt.Columns.Add("filenames");
                    dt.Columns.Add("date");
                    foreach (string filepath in filepaths)
                    {
                        dr = dt.NewRow();
                        dr["filenames"] = Path.GetFileName(filepath).ToString();
                        dr["date"] = date;
                        dt.Rows.Add(dr);
                    }
                    GridView1.DataSource = dt;
                    GridView1.DataBind();
                }
            }
            else
            {
                Label1.Text = "Please upload the file";
                Label1.ForeColor = System.Drawing.Color.Red;
            }
        }

结果:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM