上传文件命名方案

    技术2022-05-11  39

    为了避免重名现象,上传文件按以下的规则命名:上传时的年+月+日+时+分+秒+随机数为了确保同一时间上传的文件不重名,则随机数不能相同,即随机数的种子不能相同。以下为取随机数种子以及生成文件名的代码:

    System.Random r1 = new  Random(Global.GetSeed());filename = System.DateTime.Now.ToString().Replace( " - " , "" ).Replace( " : " , "" ).Replace( "   " , "" ) + r1.Next( 10000 ).ToString();

    为避免同一时间种子相重:在global.cs里为取种子的代码加锁,使同一时间只能有一个用户取得种子,之后种子自加

    private   static   int  seed = 1 ;   public   static   int  GetSeed()   {   return IncrSeed(); }    private   static   int  IncrSeed()   {   try   {    System.Threading.Monitor.Enter(seed);    seed++;    if(seed==1000)     seed=1;   }   finally   {    System.Threading.Monitor.Exit(seed);       }   return seed;     }  

    最新回复(0)