واضح آرشیو وب فارسی:سایت ریسک: اختصاص Title ( موضوع ) صفحه به نام عکس ها valasan 05 ارديبهشت 1389, 00:04با عرض سلام و خسته نباشید . دوستان ما می خواهیم صفحاتی که ثبت می کنیم موضوع صفحه را گرفته و عکسهای مرتبط به آن صفحه را با ان موضوع تغیر نام دهد . بطور مثال : xbox-1.jpg . xbox.2.jpg و ..... می خواستم از شما کمک بگیرم و این روش را با هم آنالیز کنیم و یک الگوریتم خاصی بنویسیم . پیشاپیش از راهنماییتون متشکرم . mo.esmp 05 ارديبهشت 1389, 14:53قبلا يه برنامه نوشته بودم که از طريق نام پوشه فايل داخل اون پوشه رو به نام پوشه تغيير ميداد. پيشنهاد من اينه که شما حتماً يه پوشه به نام image داريد که عکس های سايت تون رو داخل اون ذخيره کرديد. وقتی که يه صفحه ايجاد کرديد، يه پوشه به نام موضوع صفحه در داخل پوشه image ايجاد کنيد و عکس های مربوط به اون صفحه رو داخل اون ذخيره کنيد و از طريق نام پوشه عکس های داخل پوشه رو تغيير نام دهيد. DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath("~") + "image"); foreach (System.IO.DirectoryInfo g in directoryInfo.GetDirectories()) { string folderName = g.Name; int i = 0; foreach (System.IO.FileInfo f in g.GetFiles("*.*")) { string name = f.Name.Substring(f.Name.Length - 4, 4); string newName = f.DirectoryName + "" + folderName + i.ToString() + name; File.Move(f.FullName, newName ); i++; } } valasan 06 ارديبهشت 1389, 00:22مشکل ما اینجاست که برای یک فروشگاه لازم داریم که وقتی یک کالا ثبت میشه نام فولدر ID کالاست و اگر بخواهیم تغییر بدهیم استاندارد ها بهم میریزه . مثال : image/123455/1.jpg . . . image/n/n.jpg MDP 06 ارديبهشت 1389, 08:26من هنوز متوجه نشدم چی لازم دارید ! valasan 06 ارديبهشت 1389, 13:50توضیح مختصر و کامل : در یک فروشگاه مجازی یک کالا ثبت می شود , و آن کالا n تصویر دارد . ما میخواهیم نام کالا را بطور خودکار به تصاویر مرتبط با آن کالا , تغییر نام و اختصاص دهد . مثال : کالای XBOX ثبت شد و 3 عکس متعلق به این کالاست . نام کالا ها پس از Upload : xbox-1.jpg xbox-2.jpg xbox-3.jpg قابل ذکر است که ابتدا کالا ثبت می شود و بعد عکس های بارگذاری شده بطور اتوماتیک تغیر نام می کند .:neutral: mohan21 06 ارديبهشت 1389, 19:33یعنی با آپلود تصویری با نام bbbbb.jpg (فایل موجود در کامپیوتر) این تصویر با نام xbox-1.jpg ذخیره بشه ؟؟؟ در این صورت داریم :::: نام کالا ::: $Name = "xbox" ; برای هر تصویر قبل از ذخیره در هاست نام و پسوند رو از هم جدا می کنیم که در فایل نمونه خودمون داریم : نام ::: bbbbb پسوند ::: jpg با داشتن یه متغییر برای شمارش تصاویر مثلاً $Count نام جدید تصویر رو داریم ::: $NewName = $Name."_".$Count.".jpg" تصویر مورد نظر شما با این نام جدید ذخیره میشه ... valasan 07 ارديبهشت 1389, 00:46با تسکر از دوست عزیزم . یک مشکل هست : من jpg رو برای مثال گذاشتم و امکا ن داره GIF , TIF و .... باشه .! پس پسوند فایل هم باید چک بشه . در ضمن خواهشمندم به زبان ASP راهنمایی کنید . mo.esmp 07 ارديبهشت 1389, 22:08مشکل ما اینجاست که برای یک فروشگاه لازم داریم که وقتی یک کالا ثبت میشه نام فولدر ID کالاست و اگر بخواهیم تغییر بدهیم استاندارد ها بهم میریزه . مثال : image/123455/1.jpg . . . image/n/n.jpg خوب اين مشکل رو ميشه با يه Query ساده از ديتابيس حل کرد. با استفاده از نام پوشه که همون ID کالاست ميتونی از ديتابيس نام کالا رو به دست بياری و از طريق اون عکس ها رو تغيير نام بدی. DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath("~") + "image"); foreach (System.IO.DirectoryInfo g in directoryInfo.GetDirectories()) { SqlConnection connection = new SqlConnection("Your connection string"); connection.Open(); SqlCommand command = new SqlCommand("SELECT ProductName FROM TableName WHERE ProductID = " + g.Name, connection); SqlDataReader reader = command.ExecuteReader(); reader.Read(); string folderName = reader[0].ToString(); reader.Close(); int i = 0; foreach (System.IO.FileInfo f in g.GetFiles("*.*")) { string fileExtension = f.Name.Substring(f.Name.Length - 4, 4); string newName = f.DirectoryName + "" + folderName + "-" + i.ToString() + fileExtension; File.Move(f.FullName, newName ); i++; } }
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 406]