{
string stmp = ""
if (FileUpload1.HasFile)
{
try
{
string sfilename = FileUpload1.FileName//取得文件名
string path = Request.PhysicalApplicationPath + "uploadfile\\" //取得网站物理路径
//给文件重新命名,防止名称重复
Random rd = new Random()
string sExtension = Path.GetExtension(sfilename)
//核旦派得到包含路径的文件名
if (!sExtension.Equals(".jpg"))
{
Response.Write("只让上传jpg文件")
Response.End()
return
}
sfilename = DateTime.Now.ToString("yyyyMMddhhmmss") + rd.Next(100,999).ToString() + sExtension
//在同一时间上传名字一样的概率就迟握小了//得到包含路径的文件名
sfilename = path + sfilename
//上传
FileUpload1.SaveAs(sfilename)
stmp += "Save As:"+ FileUpload1.PostedFile.FileName
stmp += "File Type:" + FileUpload1.PostedFile.ContentType
stmp += "File Length:" + FileUpload1.PostedFile.ContentLength.ToString()
Response.Write(stmp) }
catch (Exception ef)
{
Response.Write(ef.Message)
}
}
}这里我举了个只能上传.jpg格式的文件,而且避免了上改贺传同名的文件的尴尬,即使同名了也没关系,还有就是你的根目录下必须有uploadfile这个文件夹,所有上传过的图片都是在这里存在的如果感觉不错的话顶一下哦
你上面的代码就可以实现 只要在write之前执行的判断 那文件就没有上传 而文件名那些事从请求段拿皮的头信息中获得的 而并不是真正的文件,文件上传时分开的两步做的 一、先发请求 以及所要上传文件的头信握差息 二 服务器确认文件无误 写入服务器磁盘 write这个方法相敏李当于是另外一个连接 只有调用了write 文件才真正的开始上传欢迎分享,转载请注明来源:内存溢出
评论列表(0条)