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

نام تاپیک: میشه کانورتور برای عکس به کد و برگشت اون نوشت؟( ذخیره عکس به در دیتا بیس)

  1. #1

    میشه کانورتور برای عکس به کد و برگشت اون نوشت؟( ذخیره عکس به در دیتا بیس)

    با سلام.
    مب خوام ببینم میشه یه برنامه ای نوشت که به جای اینکه ما عکس رو توی یه شاخه ذخیره کنیم و بعد ادرسش رو از بانک بخونیم ایا میشه کلا هکی رو داخل بانکمون دخیره کنیم؟؟؟؟

    ممنون میشم یکی کمک کنه(کامل)

  2. #2
    جالبه
    یعنی واقعا هیچ کس هیچ جوابی برای این سوال نداره؟؟؟

  3. #3
    کاربر تازه وارد آواتار Mohammad .net
    تاریخ عضویت
    خرداد 1383
    محل زندگی
    تهران
    پست
    93
    بانک شما چیه؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1383
    محل زندگی
    تهران
    پست
    1,021

    Lightbulb

    نقل قول نوشته شده توسط Mohammad .net
    بانک شما چیه؟
    سلام
    اصلا مهم نیست که بانکت چی باشه.
    در روش زیر میشه هر Object رو ذخیره کرد.

    ذخیره در بانک:
    برای این کار ابتدا باید یک Stream تعریف میکنیم.
    Dim Fs As New System.IO.FileStream("Temp.jpg", IO.FileMode.Create)

    آرگومان دوم بستگی به نوع کار، ممکنه تغییر کنه.
    اگه یک فایلی رو که (هر فایلی) میخواهید در DB ذخیره کنید، در هارد وجود داره، آرگومان دوم رو باید IO.FileMode.Open انتخاب کنید.
    در این مثال میخواهیم محتویات یک PictureBox رو مستقیما در بانک ذخیره کنیم.
    PictureBox.Image.Save(Fs, System.Drawing.Imaging.ImageFormat.Jpeg)

    سپس باید یک آرایه ای از Byte تعریف کنیم و طول آرایه باید به اندازه محتویات Stream باشد. بعد با خواندن Stream، آرایه رو پر میکنیم.
    Dim aArray(CType(Fs.Length, Integer) - 1) As Byte
    Fs.Position = 0
    Fs.Read(aArray, 0, aArray.Length)
    Fs.Close()

    و در آخر حتما باید Stream رو ببندیم.
    حالا Object مورد نظرمون در یک آرایه ذخیره شده. حالا باید بوسیله یک دستور Insert آرایه رو در بانک ذخیره کنیم. به این صورت عمل مینماییم.
    در زمان ساختن دستور INSERT باید فیلدی رو که حاوی Object مورد نظرمونه رو بصورت پارامتری مقدار دهی کنیم.
    CommandSQL.CommandText = "INSERT INTO TableName (FieldName) VALUES (@Pic)"
    CommandSQL.Parameters.Add("@Pic", aArray)

    حالا با اجرا کردن Command، فایل (Object) در بانک ذخیره میشه.

    خواندن از بانک:
    برای خواندن از بانک، پس از تعریف یک Byte (برای دخیره کردن Object مورد نظر که در بانک وجود دارد) محتویات فیلد حاوی Object مورد نظر رو در این متغیر میریزیم. بعد به روش زیر عمل میکنیم:
    Dim Bt() As Byte = CType(ds.Tables(0).Rows(0).Item("Pic"), Byte())
    Dim MS As New System.IO.MemoryStream(Bt)
    picTShakhs.Image = Image.FromStream(MS)


    در پناه حق موفق باشید و پرتوان
    آخرین ویرایش به وسیله Hamedm : جمعه 25 شهریور 1384 در 03:28 صبح

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

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