PDA

View Full Version : عدم گرفتن خطا هنگام ایجاد فایلی مشابه(نام و پسوند)فایل دیگر در یک مسیر



hamhik
چهارشنبه 15 فروردین 1386, 09:24 صبح
با سلام
چرا به دستورات زیر خطا گرفته نمی شود
مثلا در مسیر d:\recfile فایلی با نام a.rar وجود دارد حالا اگه باز بخواهیم فایل دیگری با نام
a.rar رو ذخیره کنیم در همین مسیر جایگزین فایل قبلی می شود یعنی اصلا به این ارور گرفته نمی شود که چنین فایل با این نام و این پسوند وجود دارد



Dim name1, name2, pathm, pathk As String
Dim len1, len2, len3, i As Integer
name1 = FileUpload1.FileName()
len1 = InStr(name1, ".")
len2 = Len(name1)
len3 = len2 - len1
name2 = Right(name1, len3)
pathm = "d:\recfile"
pathk = pathm + "\" + lbluser.Text + "." + name2

FileUpload1.SaveAs(pathk)

Alireza_Salehi
چهارشنبه 15 فروردین 1386, 09:35 صبح
خوب اول با دستور File.Exist چک کنید وجود نداشته باشه!

amir.NET2
چهارشنبه 15 فروردین 1386, 10:31 صبح
معمولا برای Upload فایل از همان نام فایل استفاده نمی شود چون احتمال تکراری بودن فایل زیاد است ( البته این نکته برای حرفه ای ها هست )

شما می تونی نام فایل ها رو خودت تولید کنی ولی در این صورت نمی تونی از FileUpload1.SaveAs استفاده کنی و باید فایل رو جور دیگه ای Upload کنی

manager
چهارشنبه 15 فروردین 1386, 11:04 صبح
معمولا برای Upload فایل از همان نام فایل استفاده نمی شود چون احتمال تکراری بودن فایل زیاد است ( البته این نکته برای حرفه ای ها هست )
پیشنهاد می کنم برای حل این مشکل از مسیر های یکتا استفاده کنید. مثلا هر کاربر یک یک پوشه جداگانه داشته باشه، فایلهای هر خبردارای یک پوشه با تاریخ ایجاد آن خبر باشند، و...

شما می تونی نام فایل ها رو خودت تولید کنی ولی در این صورت نمی تونی از FileUpload1.SaveAs استفاده کنی و باید فایل رو جور دیگه ای Upload کنی
امیر جان مشکلی براش پیش نمی یاد و می تونه از همون FileUpload1.SaveAs استفاده کنه.

Behrouz_Rad
چهارشنبه 15 فروردین 1386, 11:41 صبح
پیشنهاد می کنم برای حل این مشکل از مسیر های یکتا استفاده کنید. مثلا هر کاربر یک یک پوشه جداگانه داشته باشه،
خیر! پیشنهاد خوبی نیست....
به عنوان مثال آیا باید برای 36000 کاربر این سایت، 36000 پوشه ایجاد کرد؟
همون طور که amir.NET2 گفت، نام فایل در زمان آپلود به شکل یک عبارت راندوم در میاد و نام اصلی فایل همراه با اطلاعات وابستش در یک جدول ذخیره میشن.

فایلهای هر خبردارای یک پوشه با تاریخ ایجاد آن خبر باشند
سایت هایی که دیدی در مسیر URL اونها عبارتی همانند 070206 وجود داره، این به معنای وجود پوشه نیست بلکه از URL Rewriting استفاده میشه.

موفق باشید.

manager
چهارشنبه 15 فروردین 1386, 11:53 صبح
خیر! پیشنهاد خوبی نیست....
به عنوان مثال آیا باید برای 36000 کاربر این سایت، 36000 پوشه ایجاد کرد؟
همون طور که amir.NET2 گفت، نام فایل در زمان آپلود به شکل یک عبارت راندوم در میاد و نام اصلی فایل همراه با اطلاعات وابستش در یک جدول ذخیره میشن.

سایت هایی که دیدی در مسیر URL اونها عبارتی همانند 070206 وجود داره، این به معنای وجود پوشه نیست بلکه از URL Rewriting استفاده میشه.
برای پروژه های کوچیک این روش هزینه و پیچیدگی کمتری داره و مدیریت آن آسان تره.

خوانندگان محترم باید به این امر توجه داشته باشند که کسانی که به سوالات آنها پاسخ می دهند از ابعاد، گستردگی وشرایط پروژه شان بی اطلاع هستند و در نهایت خود باید بسته به شرایط مذکور اقدام به انتخاب Solution نمایند.

Behrouz_Rad
چهارشنبه 15 فروردین 1386, 11:57 صبح
برای پروژه های کوچیک این روش هزینه و پیچیدگی کمتری داره و مدیریت آن آسان تره.
این طرز فکر صحیح نیست! اگر هدفت از برنامه نویسی اینه که 2 تا کامپوننت بر روی فرم بکشی و نام یک پروژه رو به اون اطلاق کنی، بحث دیگه ایه! اما هدف در اینجا اینه که شرایط استاندارد نوشتن یک پروژه بیان بشه... و افکار انسان ها برای کارهای بزرگتر پرورش پیدا کنه.