首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

文件上传重命名有关问题.

2012-03-05 
文件上传重命名问题....在线等.string filenameif(fileupload1.hasfile){string pathserver.mappath(

文件上传重命名问题....在线等.

string filename="";
if(fileupload1.hasfile)
{
string path=server.mappath("c:\\");
filename=datetime.now.tostrin("yyyyMMddHHmmssms");
path+=filename;

fileupload1.saveas(path);
}


if(fileupload2.hasfile)
{
string path=server.mappath("c:\\");
filename=datetime.now.tostrin("yyyyMMddHHmmssms");
path+=filename;

fileupload1.saveas(path);
}

.
.
.
我放了五个fileupload,如果一次同时上传的话.文件名都是相同的.如果中断单步执行的话会产生不同的文件名.

问题好像是我的机子太快了而在同一毫秒内执行的操作.可是想一想,上传文件也需要时间啊.


请问如何解决?
谢谢;

cpu:双核 3.2 内存:1G

[解决办法]
使用guid
string filename=""; 
if(fileupload1.hasfile) 

string path=server.mappath("c:\\"); 
filename=datetime.now.tostrin("yyyyMMddHHmmssms"); 
path+=guid.new().tostring();
path+=filename; 


[解决办法]
年月日时分秒后再加个随机数,很多论坛就是这么做的。
[解决办法]
楼上正解
[解决办法]
原因很可能出现在datetime.now上.因为缓存的原因,很有可能datetime.now在相近时间内取到的是一样的,这个很常见~
[解决办法]
string fileName = System.IO.Path.GetExtension(fileExtension).ToString();
Random rd = new Random();
int valationNo = 10 + rd.Next(99);
fileName = System.DateTime.Now.ToString("MMddhhmmss") + valationNo.ToString() + fileName;
string newPath = "../FlashFiles/";
this.FileUpload1.SaveAs(System.Web.HttpContext.Current.Request.MapPath(newPath) + fileName);

DateTime.Now+随机

我同时上传 两 个没问题,5个应该也是一样的.

热点排行