ASP.NET上传控件上传图片
使用上传控件上传图片时,如何将其名称重命名成永远不重复的名称,并结合扩展名形成一个新的完整的图片名称保存到数据库中?...
使用上传控件上传图片时,如何将其名称重命名成永远不重复的名称,并结合扩展名形成一个新的完整的图片名称保存到数据库中?
展开
展开全部
using System.IO; //引入命名空间
//上传方法
private void Upimage()
{
if(File1.Value!="")
{
string fileContentType = File1.PostedFile.ContentType;//获取文件类型
//判断文件类型.只能是 BMP GIF pjpeg swf
if (fileContentType == "image/bmp" || fileContentType == "image/gif" || fileContentType == "image/pjpeg" || fileContentType == "image/swf")
{
//判断文件大小
if (File1.PostedFile.ContentLength / 1024 < 2000)
{
string name = File1.PostedFile.FileName; // 客户端文件路径
FileInfo file = new FileInfo(name);
//获取文件名称
//把当前时间取出,组成字符串,加入文件名称,防止重复命名
string fileName = System.DateTime.Now.ToString().Replace("-", "").Replace(" ", "").Replace(":", "") + file.Name;//文件名称
string pathss = Server.MapPath("Upimage") + "\\" + fileName;//服务器保存路径
try
{
//上传文件
Label2.Text = "正在上传,请等待...";
File1.PostedFile.SaveAs(Server.MapPath("Upimage") + "\\" +
fileName);
//把基本信息写进数据库,保存图片在服务器的路
cc="文件:"+fileName+"上传成功!";
Open();
this.Label2.Text=fileName;
this.Im2.Visible=true;
this.Im1.Visible=false;
}
catch (Exception ex)
{
cc = "错误: " + ex.Message.ToString();
Open();
this.Im1.Visible = true;
this.Im2.Visible = false;
}
}
else
{
cc = "对不起,文件太大.";
Open();
this.Im1.Visible = true;
this.Im2.Visible = false;
}
}
else
{
cc = "请上传正确文件格式";
}
}
else
{
hh();
}
}
//上传方法
private void Upimage()
{
if(File1.Value!="")
{
string fileContentType = File1.PostedFile.ContentType;//获取文件类型
//判断文件类型.只能是 BMP GIF pjpeg swf
if (fileContentType == "image/bmp" || fileContentType == "image/gif" || fileContentType == "image/pjpeg" || fileContentType == "image/swf")
{
//判断文件大小
if (File1.PostedFile.ContentLength / 1024 < 2000)
{
string name = File1.PostedFile.FileName; // 客户端文件路径
FileInfo file = new FileInfo(name);
//获取文件名称
//把当前时间取出,组成字符串,加入文件名称,防止重复命名
string fileName = System.DateTime.Now.ToString().Replace("-", "").Replace(" ", "").Replace(":", "") + file.Name;//文件名称
string pathss = Server.MapPath("Upimage") + "\\" + fileName;//服务器保存路径
try
{
//上传文件
Label2.Text = "正在上传,请等待...";
File1.PostedFile.SaveAs(Server.MapPath("Upimage") + "\\" +
fileName);
//把基本信息写进数据库,保存图片在服务器的路
cc="文件:"+fileName+"上传成功!";
Open();
this.Label2.Text=fileName;
this.Im2.Visible=true;
this.Im1.Visible=false;
}
catch (Exception ex)
{
cc = "错误: " + ex.Message.ToString();
Open();
this.Im1.Visible = true;
this.Im2.Visible = false;
}
}
else
{
cc = "对不起,文件太大.";
Open();
this.Im1.Visible = true;
this.Im2.Visible = false;
}
}
else
{
cc = "请上传正确文件格式";
}
}
else
{
hh();
}
}
展开全部
这个就以系统时间而且还要带上秒为命名了,就不会重复的,不可能在一秒内上传两张图片呀。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要吗你就是随机生成字符串,要吗就是以时间为名字,精确到毫秒就应该差不多了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询