نمایش نتایج 1 تا 10 از 10

نام تاپیک: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

  1. #1
    کاربر تازه وارد آواتار lord_helgard
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شیراز
    پست
    49

    Exclamation مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    اوخ اوخ بچه ها من یه برنامه نوشتم که عکس رو اول انتخاب بعدش میاد اون رو به دایرکتوری اصلی برنامه اضاقه میکنه، و همچنین آدرسش رو در دیتا بیس فیلد آدرس ذخیره میکنه، الان پروژه رو به سیستم دیگه ای انتقال دادم و به یه مشکلی بر خوردم ، که خیلی عجیب هست، یادتون باشه ما عکسارو تو دایرکتوری برنامه ذخیره و آدرسش رو در پایگاه ذخیره میکردیم، حالا من برنامه رو آوردم روی یه سیستم دیگه دارم اجرا میکنم ، و خُب به طبع آدرس فایلها که روی سیستم قبلی بوده رو نشون میده، یعنی من تو این سیستم جدید اصلا همچین درایوی رو ندارم
    "E:\\Exam Archive C#‎ Programming\\C#‎\\ExamArchive\\ExamArchive\\Images\ \Image_1.jpg.jpg"
    ولی الان اینجوریه آدرسم !
    D:\\C#‎\\ExamArchive\\ExamArchive\\Images\\Image_5.jpg

    یعنی آدرس اول تو پایگاه ذخیره شُده، اما الان مسیرش تغییر کرده که طبیعتاً هم نشون نمیده!!
    فکر میکنم تو ذخیره کردن آدرس تو دیتا بیس باید چیزی تعریف بشه که بگه این آدرس رو از شاخه برنامه current Directory به بعد ذخیره بشه و برای جستجو نیز به همچنین، اما خب متُدش رو بلد نیستم

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    با سلام

    دوست عزیز

    این راه را پیشنهاد می کنم:

    شما باید دو آدرس داشته باشید:

    1- آدرس مطلق به همراه نام فایل که همان آدرس تصاویر هست و غیر قابل تغییر

    2- آدرس نسبی که متغیر هست و قابل تغییر

    این دو آدرس با هم جمع می شوند و آدرس واقعی را ایجاد می کنند:

    مثلا:
    آدرس مطلق:
    ExamArchive\\ExamArchive\\Images\\Image_5.jpg

    آدرس نسبی:
    D:\\C#‎‎\\

    هنگامی که می خواهید به یک تصویر دسترسی داشته باشید این دو آدرس با هم جمع شده و به شکل زیر تبدیل می شود:
    D:\\C#‎‎\\ExamArchive\\ExamArchive\\Images\\Image_5.j pg

    ================================================== ================

    معمولا در ساخت برنامه هایی که با پایگاه داده ها کار می کندد یکسری داده ها تکی هستند که اون ها را یک جدول تعریف میکنند و این جدول هم همیشه یک رکورد بیشتر ندارد.
    بنابراین
    یک جدول ایجاد کنید و رکورد آدرس نسبی را در آن تعریف کنید.
    سپس در برنامه تان یک بخش برای تعریف این آدرس ایجاد کنید. مثلا در پنجره تنظیمات

    حالا یک متغییر سراسری در برنامه تعریف کنید که هنگام اجرا برنامه اون فیلد را بخواند و در آن متغیر بریزد.
    اکنون در هرجای برنامه که خواستید به مسیر تصاویر در پایگاه داده ها دسترسی داشته باشید با این متغیر جمع می کنید تا آدرس واقعی بدست آید.

    همچنین این متغیر هنگامی که در پنجره تنظیمات ما آدرس را بروز رسانی می کنید درون این متغیر نیز ریخته شود.

    با تشکر

  3. #3
    کاربر تازه وارد آواتار lord_helgard
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شیراز
    پست
    49

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    نقل قول نوشته شده توسط behzadkhan مشاهده تاپیک

    آدرس نسبی:
    D:\\C#‎‎‎\\

    هنگامی که می خواهید به یک تصویر دسترسی داشته باشید این دو آدرس با هم جمع شده و به شکل زیر تبدیل می شود:
    D:\\C#‎‎‎\\ExamArchive\\ExamArchive\\Images\\Image_ 5.jpg

    ================================================== ================

    معمولا در ساخت برنامه هایی که با پایگاه داده ها کار می کندد یکسری داده ها تکی هستند که اون ها را یک جدول تعریف میکنند و این جدول هم همیشه یک رکورد بیشتر ندارد.
    بنابراین
    یک جدول ایجاد کنید و رکورد آدرس نسبی را در آن تعریف کنید.
    سپس در برنامه تان یک بخش برای تعریف این آدرس ایجاد کنید. مثلا در پنجره تنظیمات

    با تشکر
    این رو نمیدونم چه جوری تعریف کنم که هر بار آدرس نسبی رو بگیره ! یا وقتی برنامه انتقال داده میشه آدرس نسبی قبلی پاک و آدرس جدید ذخیره بشه !!!

  4. #4

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    سلام
    از Application.StartupPath استفاده کن. این خصوصیت به شما آدرس جاری برنامه رو می ده.

  5. #5
    کاربر تازه وارد آواتار lord_helgard
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شیراز
    پست
    49

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    نقل قول نوشته شده توسط pich2mohre مشاهده تاپیک
    سلام
    از Application.StartupPath استفاده کن. این خصوصیت به شما آدرس جاری برنامه رو می ده.
    خب آره ، راه خوبیه ، ولی این رو بهم برمیگردونه
            ap    "D:\\C#‎\\ExamArchive\\ExamArchive\\bin\\Debug"    string

    که ap متغیر از نوع string هست
    حالا من فقط این تکیه رو میخوام که آدرس نسبی رو به قول دوستمون قرار داده
    D:\\C#‎\\

  6. #6
    کاربر دائمی آواتار systam
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    مشهد (امام رضا (ع))
    پست
    973

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    سلام دوستمون توضیح داد
    Application.StartupPath زمانی استفاده میشه میاد طبق عکس ضمیمه
    میاد فولدر علی رو برای به صورت جستجو در پوشه
    Debug پیدا میکنه و دسترسی داره
    Untitled.jpg

  7. #7
    کاربر تازه وارد آواتار lord_helgard
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شیراز
    پست
    49

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    نقل قول نوشته شده توسط systam مشاهده تاپیک
    سلام دوستمون توضیح داد
    Application.StartupPath زمانی استفاده میشه میاد طبق عکس ضمیمه
    میاد فولدر علی رو برای به صورت جستجو در پوشه
    Debug پیدا میکنه و دسترسی داره
    Untitled.jpg
    خب شما چه راه حلی رو پیشنهاد میکنید که آدرس نسبی رو به دست بیارم و بعدش تو جدول ( واحد ) ذخیره کنم ؟ که طبق فرمایش دوستمون بعداً برای بازیابی اطلاعات آدرس نسبی رو با آدرس مطلق جمع بزنم

  8. #8

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    نقل قول نوشته شده توسط lord_helgard مشاهده تاپیک
    خب شما چه راه حلی رو پیشنهاد میکنید که آدرس نسبی رو به دست بیارم و بعدش تو جدول ( واحد ) ذخیره کنم ؟ که طبق فرمایش دوستمون بعداً برای بازیابی اطلاعات آدرس نسبی رو با آدرس مطلق جمع بزنم
    سلام
    نمی دونم این روشی که می گم بهینه هست یا نه
    اما می تونی به کمک split بیای
    D:\\C#‎‎‎‎\\

    رو از آدرسی که Application.StartupPath بهت می ده جدا کنی و بعد ادامه ی ماجرایی که می خوای...

  9. #9

    نقل قول: مشکل با بازیابی تصویر از روی آدرس - در دیتابیس

    سلام
    دوست من چرا اینقدر مسئله رو سخت میکنی
    کاری که لازمه بکنی ، اینه که تو یه Table فقط اسم فایل عکس رو ذخیره کنی ، مثلا image_1.jpg ، تا اینجا که مشکلی نیست

    حالا میرسیم به آدرس
    اگر محل ذخیره سازی فایل ها ثابته ، مثلا کنار فایل اجرایی برنامه یه فولدر به اسم images داری ، آدرس فایل ها به اینصورت خواهد شد

    string path = Application.StartupPath + "\\images\\";

    آدرس بالا رو اگر با نام فایل عکس که از دیتابیس میخونی ترکیب کنی ، میشود آدرس نهایی فایل شما.

    و اما اگر آدرس فولدر عکس ها باید توسط کاربر قابل تعیین کردن باشه ، با کنترل FolderBrowserDialog به کاربر امکان بده که مسیر تصاویر رو انتخاب کنه ، مثل کد زیر

    FolderBrowserDialog fbd = new FolderBrowserDialog();


    if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
    string path = fbd.SelectedPath;
    }


    * اینکه این آدرس رو کجا میخوای ذخیره کنی دیگه به خودت بر میگرده (دیتابیس ، فایل INI یا Setting برنامت)



    موفق باشید.
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

  10. #10
    کاربر دائمی آواتار امیر مهرشاد
    تاریخ عضویت
    آذر 1390
    محل زندگی
    بجنورد (پاریس کوچولو)
    پست
    686
    اگه میخوای دردسر این مسائل رو روی هر کلاینتی نداشته باشی و تعداد عکسهاتم زیاد نیست چرا توی خود بانک عکسها رو ذخیره نمیکنی ؟

    همین جا روش هایی هم بگردی بچه ها زحمتشو کشیدن میتونی از کلاسهای آماده اونها هم استفاده کنی حتی اسکن در خود فرمت برای دخیره مستقیم در دیتابیسم داشته باشید
    آخرین ویرایش به وسیله محمد آشتیانی : پنج شنبه 14 اسفند 1393 در 13:31 عصر

تاپیک های مشابه

  1. سوال: مشکل با رفرش تصویر امنیتی روی هاست
    نوشته شده توسط reza4359 در بخش ASP.NET Web Forms
    پاسخ: 16
    آخرین پست: سه شنبه 25 تیر 1392, 14:52 عصر
  2. مشکل در نمایش تصویر روی سایت
    نوشته شده توسط jigily در بخش ASP.NET Web Forms
    پاسخ: 20
    آخرین پست: پنج شنبه 18 آبان 1391, 21:24 عصر
  3. مشکل در قرار دادن تصویر بر روی فرم MDI
    نوشته شده توسط AminErfani در بخش C#‎‎
    پاسخ: 8
    آخرین پست: دوشنبه 23 مرداد 1391, 22:18 عصر
  4. خیلی مشکل ::چگونه می توانم بر روی Picture box یک نوار ....
    نوشته شده توسط zehs_sha در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: دوشنبه 25 مهر 1384, 14:19 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •