2012-04-15 126 views
0

我试图实现的是将上传图像的名称更改为有点独特的字符串。更改上传图像的名称

我创建了一个由数据库动态填充的图像库。该画廊工作正常,除了存储在数据库中的文件将有问题,如果上传同名的图像!

代码在控制器进行文件上传:

string AdvertImage = picture1.FileName; 
        advert.AdvertImage = AdvertImage; 
        var image1Path = Path.Combine(Server.MapPath("~/Content/Images"), AdvertImage); 
        picture1.SaveAs(image1Path); 

下面的代码是什么,我就

    string BackImage = DateTime.Now.ToString("yyyyMMddhhmmssfffffff"); 
        caradvert.BackImage = BackImage; 
        var image3Path = Path.Combine(Server.MapPath("~/Content/CarImages"), BackImage); 
        picture3.SaveAs(image3Path); 

我已经成功地创建一个唯一的文件名你它不附加工作。 JPG到图像的末尾。

关于这一主题的欢迎

+0

尝试获取文件名没有扩展名并追加后的“backimage”扩展添加到图像。 – coder 2012-04-15 12:17:42

回答

2

任何帮助或建议试试这个:

 //save file in folder 
    if (FileUpload1.PostedFile.ContentType.ToLower().StartsWith 
      ("image") && FileUpload1.HasFile) 
    { 
     string savelocation = Server.MapPath("savedImages/"); 
     string fileExtention = System.IO.Path.GetExtension(FileUpload1.FileName); 
     //creating filename to avoid file name conflicts. 
     string fileName = Guid.NewGuid().ToString(); 
     //saving file in savedImage folder. 
     string savePath = savelocation + fileName + fileExtention; 
     FileUpload1.SaveAs(savePath); 
    }