PDA

View Full Version : اگر فایل موجود باشد چطور می بایست تشخیص داد



mahdy.asia
یک شنبه 10 بهمن 1389, 23:27 عصر
من می خواهم فایل پیوست مشتری را روی سرورم آپلود کنم اگر مشتری قبلی با همان نام فایلی آپلود کرده باشد چه کدی بنویسم که یا خطا را اعلام و یا با یک نام جدید فایل را آپلود نماید.
کد:

if (FileUpload1.PostedFile != null)
{
HttpPostedFile Pic = FileUpload1.PostedFile;
if (Pic.ContentLength == 0)
{
Response.Write("فایل شما هیچ محتوایی ندارد!");
return;
}
byte[] data = new Byte[Pic.ContentLength];
Pic.InputStream.Read(data, 0, Pic.ContentLength);
string SavePath = @"uploads/";
FileStream newPic = new FileStream(Server.MapPath(SavePath + Pic.FileName), FileMode.Create);
newPic.Write(data, 0, Pic.ContentLength);
newPic.Close();
}

Javad.Kashi
دوشنبه 11 بهمن 1389, 00:07 صبح
سلام دوست عزیز
شما می توانید از اسامی رندمی برای فایل های آپلودی استفاده کنید. در مثال زیر می خواهیم که یک عکس را آپلود کنیم:


string filename_relative = string.Empty;
string filename = string.Empty;
if (FileUpload1.PostedFile != null)
{
string uploaded_file_extention = Path.GetExtension(FileUpload1.PostedFile.FileName) ;
filename = Guid.NewGuid().ToString() + uploaded_file_extention;
filename_relative = "~/Uploads/Images/" + filename;
string file_path_to_save = Server.MapPath(filename_relative);
FileUpload1.PostedFile.SaveAs(file_path_to_save);
{

همانطور که می بینید در صورتی که فایل آپلودی موجود باشد ، یک عبارت رندمی را جایگزین نام آن می کنیم
اینجوری دیگه مشکلی پیش نمی آید ان شاء الله
یا علی مدد

مهدی کرامتی
دوشنبه 11 بهمن 1389, 02:29 صبح
همچنین می توانید با استفاده از کدی مانند زیر وجود فایل قبلی را بررسی کنید:


if(File.Exists(uploaded_file_name))