2012-04-15 95 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); 
    }