当前位置:编程学习 > C#/ASP.NET >>

怎样让上传的文件,以当前时间作为文件名?

这是我写的一个模板,请问CSDN的老鸟门,还需要在里面加点设么?
        string strFileName = this.File1.PostedFile.FileName;
        int nlength = strFileName.Length - strFileName.LastIndexOf(@"\") - 1;
        strFileName = strFileName.Substring(strFileName.LastIndexOf(@"\")+1,nlength);
        string strPath = Server.MapPath(@"\") + "UpLoad\\";
        File1.PostedFile.SaveAs(strPath+strFileName); --------------------编程问答-------------------- if(file1.PostedFile.FileName.Trim()!="")
{
//上传文件
string extension = Path.GetExtension(file1.PostedFile.FileName).ToUpper();
string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
string path = Server.MapPath("Image\\") + fileName + extension;
file1.PostedFile.SaveAs(path);
} --------------------编程问答-------------------- 谢谢!1楼的。
--------------------编程问答-------------------- 用DateTime.ToString("yyyyMMddhhmmss")即当前时间精确到秒做为文件名,不过还得加个判断,最好先检查文件是不是已经存在,因为有可能两个人在同一时间上传文件。 --------------------编程问答-------------------- Sorry,错了,是先检查文件名,不是文件。 --------------------编程问答-------------------- 你肯定没有执行,这个方法不行
1、语法不对
2、即使用format也不行
引用 3 楼  的回复:
用DateTime.ToString("yyyyMMddhhmmss")即当前时间精确到秒做为文件名,不过还得加个判断,最好先检查文件是不是已经存在,因为有可能两个人在同一时间上传文件。
--------------------编程问答-------------------- /// <summary>
    /// 上传文件
    /// </summary>
    /// <returns></returns>
    public void txtUpload(HttpContext context, HttpPostedFile hpf)
    {
        if (hpf.ContentLength > 0)//检查是否有文件
        {
            string fullFileName = hpf.FileName; //文件路径名
            string type = fullFileName.Substring(fullFileName.LastIndexOf(".") + 1);//文件格式

            string filepath = context.Request.PhysicalApplicationPath + "UpFile\\";

            if (type == "txt") //判断是否为txt类型
            {
                string UpExtension = "." + type;
                string fileName = FileName() + UpExtension;
                hpf.SaveAs(filepath + fileName);//存储文件到磁盘
                context.Response.Write(fileName);
                context.Response.End();
            }
            else
            {
                context.Response.Write("1");//文件类型有误
                context.Response.End();
            }
        }
        else
        {
            context.Response.Write("0");//未指定文件
            context.Response.End();
        }
    }
    /// <summary>
    /// 更改文件名称
    /// </summary>
    /// <returns></returns>
    protected string FileName()
    {
        string ReStr = DateTime.Now.Year.ToString().Substring(2, 2) + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString();
        ReStr += DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString();
        return ReStr;
    } --------------------编程问答--------------------
引用 5 楼  的回复:
你肯定没有执行,这个方法不行
1、语法不对
2、即使用format也不行
引用 3 楼  的回复:

用DateTime.ToString("yyyyMMddhhmmss")即当前时间精确到秒做为文件名,不过还得加个判断,最好先检查文件是不是已经存在,因为有可能两个人在同一时间上传文件。

 DateTime.Now.ToString("yyyyMMddhhmmss");
思路呀思路 --------------------编程问答-------------------- 是呀 多简单的事
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,