2012-09-17 51 views
1

我需要將文件(圖像)保存到文件夾。 如果有名爲「OrignalName」的圖像,則將其原始名稱保存到我指定的文件夾中。我使用保存文件夾中帶有唯一名稱的上傳文件

string filename = Path.GetFileName(fileupload1.PostedFile.FileName); 
GenerateFileName(filename); 
fileupload1.SaveAs(Server.MapPath("Images" + filename)); 

我應該如何的文件名更改爲唯一如時間戳(yyyymmddMMss) 任何幫助將不勝感激。

回答

2

你可以將它保存到數據庫像之前concate與當前日期和時間的文件名:

string strtemp = filename + System.DateTime.Now.ToString("ddMMyyhhmmss"); 
+0

嗯......,好主意以及 – KiranSolkar

+0

它沃爾德有太大的幫助,如果我只用一個時間來設置文件名! – KiranSolkar

1

您可以使用此代碼

var newPath = filename + DateTime.Now.ToString("yyyymmddMMss"); 
fileupload1.SaveAs(Server.MapPath("Images/" + newPath)); 
+0

我不認爲這會起作用。你需要圍繞'DateTime.Now'部分做日期格式 –

+0

Monkieboy感謝你的評論,好評 –

+0

沒有probs,只是要注意KiranSolkar放入的圖像部分可能應該有一個/後面:Server.MapPath (「Images /」+ newPath) –

1

輕易嘗試被保存文件的位置和然後重命名他

string newName = System.DateTime.Now.ToString("ddMMyyhhmmss"); 
Microsoft.VisualBasic.FileIO.RenameFile(file, newName); 
+0

這會希望文件位於本地計算機上而不是服務器上。 –

+0

我的錯誤...謝謝 –

4
System.IO.FileInfo file = new System.IO.FileInfo(FileUpload1.PostedFile.FileName); 
    string fname = file.Name.Remove((file.Name.Length - file.Extension.Length)); 
    fname = fname + System.DateTime.Now.ToString("_ddMMyyhhmmss") + file.Extension; 
+0

這將如何工作? –

+0

我喜歡,看起來相當混亂開始。 +1 –

+0

這將附加時間到您的文件名,如果您的文件名是ABC,那麼您將有ABC_170912040633.jpg 17是日期09月和12是年和日期和秒ofDatetime.now –

-2

嘗試以下操作:

int generatedNo = randomNumber.Next(100, int.MaxValue); 
string filePath=Path.Combine(Server.MapPath("~/finaldesign")+generatedNo+".jpg"); 
imageTosave.Save(filePath, ImageFormat.Jpeg); 
+1

雖然這可能回答這個問題,你應該試着解釋OP做錯了什麼,以及爲什麼這能解決他們的問題。 – Tas

相關問題