PDA

View Full Version : قرار دادن فایلهای html داخل بانک با حفظ لینکها



nassim_20
دوشنبه 13 خرداد 1387, 16:14 عصر
می خواهم یکسری فایلهای html را داخل بانک بریزم که این فایلها بهم مرتبط هستند و لینک دارند
می خواهم طوری اینها را داخل بانک قرار بدهم که لینکها حفظ شود و نیز قابلیت جستجوی کلمه داخل متون فایلها را داشته باشم
کسی راه حلی برای این مشکل داره

vcldeveloper
دوشنبه 13 خرداد 1387, 23:26 عصر
اگه داده های صفحات فقط کدهای HTML هستند و در آنها از تصاویر و اشیاء دیگه استفاده نشده، مشکلی وجود نداره، می تونید فایل را بصورت Text در بانک ذخیره کنید.

nassim_20
سه شنبه 14 خرداد 1387, 20:17 عصر
اگه داده های صفحات فقط کدهای HTML هستند و در آنها از تصاویر و اشیاء دیگه استفاده نشده، مشکلی وجود نداره، می تونید فایل را بصورت Text در بانک ذخیره کنید.


اگه بصورت text بریزم لینکها چی می شوند یعنی ارتباط آنها از بین نمی رود و نوع متن باید مثلا Memo باشد؟
در ضمن تعداد کمی از فایلها شاید حدود 20 از انها تصویر هم دارند با این اوصاف چی پیشنهاد دارید

vcldeveloper
چهارشنبه 15 خرداد 1387, 02:19 صبح
اگه بصورت text بریزم لینکها چی می شوند یعنی ارتباط آنها از بین نمی رود و نوع متن باید مثلا Memo باشد؟
همه فرمت بندی متن بصورت تگ های HTML ذخیره میشند، لینک ها هم بصورت <a href=...> ذخیره میشند، پس مشکلی برای قالب بندی متن ها و لینک های داخل آنها پیش نمیاد. از طرفی چون داده بصورت متن ذخیره شده، می تونید از امکان جستجوی Full text search برای جستجو در متن استفاده کنید.


در ضمن تعداد کمی از فایلها شاید حدود 20 از انها تصویر هم دارند با این اوصاف چی پیشنهاد دارید
در این صورت اگر داده را بصورت متن ذخیره کنید، تصاویر با آن ذخیره نمی شوند! بطور کلی یک فایل HTML فقط شامل متن هست، تصاویری هم که در آن نمایش داده میشند فایل های جداگانه ایی هستند که با استفاده از تگ img به فایل HTML پیوست شدند. اگر می خواید کل محتوای مربوطه (شامل متن و عکس) را ذخیره کنید، باید ابتدا آنها را تبدیل به یک فایل کنید، مثلا فرمت mht که توسط IE پشتیبانی میشه، یا فرمت MS Word، یا PDF، و... در این صورت، می تونید فایل را بصورت داده باینری (BLOB) ذخیره کنید. البته در صورت ذخیره فایل بصورت باینری، امکان جستجوی متن در داخل آن را نخواهید داشت.

nassim_20
چهارشنبه 15 خرداد 1387, 10:32 صبح
آقای کشاورز ممنون از لطفتون
ولی مشکل من اینست که فایلها بهم مرتبط است مثلا در فایل index.html لینکی وجود دارد که به فایل 01.html وصل می شود که داخل پوشه 1 قرار دارد و من باید این دو فایل را داخل بانک قرار دهم حال چطور می توانم هم خود فایل رو داشته باشم و هم لینکشون رو حفظ کنم فعلا مهمترین مساله اینست اگر بتوان در این حالت جستجو هم داشته باشیم خیلی بهتر است اگر نه مجبورم در یک فیلد اصل فایل رو داشته باشم و در فیلد دیگر متن فایل که امکان جستجو نیز برقرار باشد

vcldeveloper
چهارشنبه 15 خرداد 1387, 16:49 عصر
ولی مشکل من اینست که فایلها بهم مرتبط است مثلا در فایل index.html لینکی وجود دارد که به فایل 01.html وصل می شود که داخل پوشه 1 قرار دارد و من باید این دو فایل را داخل بانک قرار دهم حال چطور می توانم هم خود فایل رو داشته باشم و هم لینکشون رو حفظ کنم
هر زمان که کاربر رکورد مربوط به فایل HTMLایی را لود میکنه، فایل HTML باید در یک کنترل نمایش داده بشه (مثلا TWebBrowser)، اگر کاربر روی لینکی در فایل کلیک کرد، شما می تونید لینک را ردیابی کنید و فایل مربوط به آن را از بانک استخراج کنید و به کاربر نمایش بدید.

nassim_20
چهارشنبه 15 خرداد 1387, 18:33 عصر
میشه بیشتر راهنمایی کنید چجوری لینک رو ردیابی کنم
و اینکه چطوری باید فایل رو داخل بانک بریزم
شرمنده خیلی سوال می کنم در این رابطه چیزی بلد نیستم و بدجوری گیر کردم

vcldeveloper
پنج شنبه 16 خرداد 1387, 04:00 صبح
چجوری لینک رو ردیابی کنم
بعد از اینکه کد HTML مربوط به یک رکورد را از بانک لود کردید و در یک کنترل WebBrowser نمایش دادید، اگر کاربر روی لینکی کلیک کند، رویداد OnBeforeNavigate2 فراخوانی میشه که آنجا می تونید URL مورد نظر را دریافت کنید و بر اساس آن رکورد مربوطه را از بانک استخراج کنید و URL مربوط به آن را به جای URL اصلی به WebBrowser بدید.

و اینکه چطوری باید فایل رو داخل بانک بریزم
بصورت یک فیلد string، البته اگر بخواید فقط متن داده HTML را داشته باشید و بتونید روش جستجو انجام بدید.

nassim_20
پنج شنبه 16 خرداد 1387, 09:42 صبح
ممنون از لطفتون
یه سوال دیگه
اینکه چطور باید متن مربوط به لینکهای داخلی رو از هم جدا کرد منظورم از لینکهای داخلی اینکه چند لینک در یک صفحه قرار دارند و به قسمتی از همان صفحه اشاره دارد

nassim_20
پنج شنبه 16 خرداد 1387, 11:44 صبح
یه سوال دیگه اینکه وقتی روی لینکی کلیک می کنیم می توانیم آدرسش رو بدست آوریم این درست
حال چطوری می تونیم عنوان لینک کلیک شده رو بدست آوریم

vcldeveloper
پنج شنبه 16 خرداد 1387, 18:04 عصر
اینکه چطور باید متن مربوط به لینکهای داخلی رو از هم جدا کرد منظورم از لینکهای داخلی اینکه چند لینک در یک صفحه قرار دارند و به قسمتی از همان صفحه اشاره دارد
این لینک ها از کارکتر # برای مشخص کردن بخشی از صفحه که لینک بهش اشاره میکنه استفاده می کنند.


حال چطوری می تونیم عنوان لینک کلیک شده رو بدست آوریم
دقیقا نمیدونم. می تونید درباره WebBrowser در MSDN تحقیق کنید.