PDA

View Full Version : کمک در مورد ساخت وب سایت کتابخانه دیجیتالی



SS^T^NN
جمعه 26 تیر 1388, 15:24 عصر
از دوستان حرفه ای تقاضا دارم ، به صورت ساده سوالات بنده جواب بدند.

من تمام پستها رو مطالعه کردم ولی به جوابم نرسیدم .

من با VS2005 و SQL server2005 و C# میخوام یک سری فایل که pdf و word هست توسط کاربر از تو کامپیوترش انتخاب کنه (نمیدونم از inputfile یا fileupload استفاده کنم) سپس بعد از اینکه فایل انتخاب کرد با زدن یک تکمه (مثلا button) فایل انتخاب شده به فیلد مربوط به table در بانک sql اظافه بشه.(در ضمن چه نوع فیلدی در بانکم باید برای فایل استفاده کنم)

من مبتدی هستم ، خواهشن این دستورات به زبان ساده برام قرار بدین .

raziee
جمعه 26 تیر 1388, 16:40 عصر
من آپلود ها رو روی هاست میگذارم و تنها آدرس اون رو به بانکم میفرستم.
به این فکر کن.

abbaseftekhari
جمعه 26 تیر 1388, 18:59 عصر
سلام این کار شما اشتباه است که می خواهید فایل ها را در بانک ذخیره کنید بعدا به مشکل بر میخورید
بهترین کار این است که فایلها در هاست ذخیره کنید و سپس آدرس آن را در بانک ذخیره کنید.

iman_ad
جمعه 26 تیر 1388, 20:10 عصر
منم کاملا مخالف ذخیره فایل در بانک هستم

SS^T^NN
شنبه 27 تیر 1388, 09:18 صبح
با تشکر از همه دوستان ، میشه لطف کنید پس به من بگید این کار چه طور انجام میشه ،
یعنی اینکه من باید در بانک sql در table مورد نظر از چه فیلدی استفاده کنم برای قرار دادن آدرس مقالاتی که در host هست ؟ در ضمن من دارم این پروزه در کامپیوتر شخصی مینویسم و هاستی در کار نیست ، منظورم اینه که چه طور این کار شبیه سازی کنم ، مثلا باید روی هاردم مقالات قرار بدم مثلا تو درایو d بعد این آدرس که بالای address bar ویندوز تو فیلد مورد نظر قرار بدم ؟ یکم برای من مبتدی بیشتر تو ضیح بدین ، ودر ضمن از چه فیلدی تو table استفاده کنم برای نگاه داری این آدرسها ؟

Coward
شنبه 27 تیر 1388, 10:37 صبح
دوستان چرا به اين نكته دقت نمي كنيد كه شايد هر دو راه در جاي خود مناسب باشه
ببينيد اگر فايل ها را در ديتابيس ذخيره كنيم حجم db بالا مي ره و چون قيمت sqlserver بيشتر از قيمت host هست پس منطقي اينكه در host دخيره بشه ولي اگر روي يك شبكه داخلي هست روي sqlserver باشه راحت تريم چون هر وقت كه بخوايم فقط sqlserver را جابجا مي كنيم (در مواقع لزوم)

در مورد چگونگي اين كار من هر دو را توضيح مي دهم اميدوارم كمكي كرده باشم فرض كن كه ما 2 تا FileUpload داريم يكي براي عكس يكي براي pdf و مي خوايم آدرس عكس را در db و خود pdf را در db ذخيره كنيم كه هر دو كار را كرده باشيم پس داريم



<asp:FileUpload ID="FileUploader" runat="server" /><br />
<asp:FileUpload ID="imgUploader" runat="server" /><br />
ضمن اينكه فيلد ما در sqlserver براي pdf بايد varbinary(MAX) و براي img بايد nvarchar(500) و هم چنين كه من آدرس عكس را ذخيره نمي كنم اسم عكس را ذخيره مي كنم
حالا براي ذخيره كردن pdf بايد از كد زير استفاده كرد



book.Pdf = FileUploader.FileBytes;
book اسم object كتاب ماست
براي ذخيره كردن عكس بايد از كد زير استفاده كنيم



uploadDirectory = Path.Combine(Request.PhysicalApplicationPath, "img");

string extension = Path.GetExtension(imgUploader.PostedFile.FileName) ;
string FileName = Path.GetFileName(imgUploader.PostedFile.FileName);
string fullUploadPath = Path.Combine(uploadDirectory, FileName);
book.UrlImg = FileName;

بعد براي اينكه مثلا عكس را نشون بديم از كد زير استفاده مي كنيم



<asp:Image ID="Image1" ImageUrl='<%# "Img/" + Eval("UrlImg") %>'
runat="server" />



البته اين عكس را من داخل يك grid كه وصل به يك object يا sqldatasourc حالا اگر خواستي تكي نشون بدي كل آدرس عكس را بريز داخل db كه در بالا اگر uploadDirectory است

SS^T^NN
شنبه 27 تیر 1388, 17:48 عصر
خیلی ممنونم آقای Coward عالی بود ، من میخوام بعد از این که فایل توسط uploafile انتخاب شد با زدن یه تکمه مثل button ارسال بشه اینو چه طوری انجام بدم ،؟؟؟ و این book که گفتین object هست یعنی چی و چه طوری این object میتونم تعریف کنم .در ضمن من نمیدونم اگه خواستم برای عکسها به عنوان مثال تو درایو D و تو فولدر به اسم imge قرار بدم کجای دستور شما قرار بدم ؟

کارتون عالی ، ممنون از همه .

Coward
شنبه 27 تیر 1388, 17:58 عصر
SS^T^NN (http://barnamenevis.org/forum/member.php?u=108685) من فکر کردم شما برنامتون براساس oop است که این را گفتم خوب وقتی بر اساس oop بنویسید یک کلاس لازم دارین که تعریفی از کتابتون باشه شما به جای



book.pdf


یک متغیر تعریف کنید و بعد آن را بریزید داخل دیتابیس
در مورد زدن کلید شما تمام کد های مربوط به دخیره عکس را در داخل کد کلیک button قرار بدهید

SS^T^NN
شنبه 27 تیر 1388, 19:19 عصر
نه فدات شم من مبتدی هستم فعلا تو کار oop نزدم ، ممنونم که کمکم میکنی این متغیر از چه نوعی باید باشد ؟ (و ایا در این حالت که فرمودید با متغییر انجام بدم نیاز به connectionstrig دارم ؟)
و سوال بعدی اینکه تو این وب سایت و سایتای خارجی دیگه بیشتر با کنترل input file استفاده شده ، به نظر شما کدام کنترل بهتره یا اینکه فرقی نمیکنه ؟ input file یا fileupload ؟؟؟

با سپاس از دوست بزرگوار Coward

:قلب:

Coward
شنبه 27 تیر 1388, 21:29 عصر
connectionstring که همیشه لازم داری
متغیر شما باید نوعش آرایه ای از بایت ها باشه



byte[] pdf ;


در مورد اون دوتا هم دقیق نمی دانم ولی نباید فرقی داشته باشند با هم

SS^T^NN
شنبه 27 تیر 1388, 22:28 عصر
با سپاس از دوست عزیزم که واقعا حوصله کردن وپاسخهای بنده را با دقت دادند ، واقعا کسی در اطراف ندارم که من کمک کنه و خیلی چیزا بهتره که آدم از تجربه دیگران استفاده کنه . به هر حال دست ما آماتورا باید شما بگیرین.


من ترم آخرم هست و باید تا سه هفته دیگه پروژه ام تحویل بدم ، ASP.net با C# و sql server 2005 هست که قرار یک وب سایت کتابخانه دیجیتالی طراحی کنم با امکانات مدیریتی سایت ، اولین بارم هست که دارم این کار رو انجام میدم و خیلی به مشکل بر میخورم از همه شما عزیزان میخوام تا من در این پروژه راهنمای کنین.

نمیخوام برای موضوعات مختلف تایپیک باز کنم و باعث بی نظمی بشه ، قصد دارم تا انتهای پروژه من در همین تایپیک کمک کنین ، دست پام میلرزه 3 هفته دیگه باید تحویل بدم ، کمکم کنید.

موضوع بعدی که میخوام مطرح کنم در مورد ایجاد membership به صورت wizard در vs هست یعنی تمام این کنترلر های login و createuserwizard و..همه میخوام به صورت wizard استفاده کنم .

مشکلم این هست وقتی که از قسمت (ASP.NET configuration) یک wizard درست میکنم در آخر کار خودش به صورت اتومات در فولدر APP-DATA یک دیتا بیس ایجاد میکنه که به نام aspnetDB.mdf هست درست میکنه ، خواب تا اینجای کار درست و مشکلی نیس ، اما من میخوام که این دیتا بیس در داخل دیتا بیس خودم قرار بگیره که اسم دیتا بیس من digital هست , ودر sql server 205 قرار دارد ، من هیچ راهی بلد نیستم که کاری بکنم این دیتابیس (البته منظور محتویات داخلش نه خود دیتابیس ) در داخل دیتا بیس digital قرار گیره ؟؟

SS^T^NN
یک شنبه 28 تیر 1388, 09:39 صبح
دوستان عزیز منتظر کمک شما هستم .

SS^T^NN
یک شنبه 28 تیر 1388, 16:03 عصر
ممنونم خودم فهمیدم ، اگه شما هم خواستید بدونید ، جواب تو لینکی که گذاشتم . با سپاس از همه شما عزیزان.:قلب:

HOw can i add my database with database wizard in VS (http://www.4guysfromrolla.com/articles/040506-1.aspx)