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

نام تاپیک: ذخیره عکی در دیتابیس

  1. #1

    ذخیره عکی در دیتابیس

    میدونم که در این باره تاپیک های زیادی هست اما من راهی که از همه (به نظر خودم) آسونتر بود رو انتخاب کردم.

    1. با این دستور یک عکس (یاهر فایلی)رو به آرایه ای از بایت تبدیل میکنیم.

    Dim b AsByte() = My.Computer.FileSystem.ReadAllBytes("E:\sample.jpg")

    2. سپس این آرایه رو به فیلدی از نوع Object اینسرت میکنیم.

    3. برای بازخوانی هم از دستور زیر استفاده میکنیم.

    Dim mem AsNew IO.MemoryStream(b)
    pic.Image = Image.FromStream(mem)

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    ایران و عربستان
    سن
    42
    پست
    189

    نقل قول: ذخیره عکی در دیتابیس

    نقل قول نوشته شده توسط Daren_the_Devil مشاهده تاپیک
    میدونم که در این باره تاپیک های زیادی هست اما من راهی که از همه (به نظر خودم) آسونتر بود رو انتخاب کردم.

    1. با این دستور یک عکس (یاهر فایلی)رو به آرایه ای از بایت تبدیل میکنیم.

    Dim b AsByte() = My.Computer.FileSystem.ReadAllBytes("E:\sample.jpg")

    2. سپس این آرایه رو به فیلدی از نوع Object اینسرت میکنیم.

    3. برای بازخوانی هم از دستور زیر استفاده میکنیم.

    Dim mem AsNew IO.MemoryStream(b)
    pic.Image = Image.FromStream(mem)
    __________________________________________________ ____
    البته من از این راه نزدیک تر و بفهم تر پیداکردم ولی فراموش کردم

  3. #3
    کاربر دائمی آواتار محمدامین شریفی
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران - شیراز
    پست
    1,302

    نقل قول: ذخیره عکی در دیتابیس

    بهتر نیست منابع را در جای خودش که resource هست بزاریم که مشکل آدرس دهی محلی در رایانه های دیگه پیش نیاد

  4. #4
    کاربر دائمی آواتار khz-web1
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    اهواز
    پست
    614

    نقل قول: ذخیره عکی در دیتابیس

    بله بنده هم موافق هستم

  5. #5
    کاربر دائمی آواتار parsavb
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    جلوي کامپيوتر
    پست
    210

    نقل قول: ذخیره عکس در دیتابیس و نمایش آن

    دوستان ببخشید، فضولی من در این تاپیک هم گل کرده
    اگه اجازه بدهید نمونه برنامه ای برای ذخیره عکس در دیتابیس براتون بزارم تا شاید این همه سوال و تاپیک بی مورد راجع به این موضوع ساده مطرح نشه
    البته این برنامه عکس رو در sql server 2005 ذخیره می کنه و بایستی در بانک خودتون جدولی با 3 فیلد قرار بدهید به نامهاو فرمتهای زیر pic_id=int,pic_name=nvarchar_30,pic_imag=imag
    امیدوارم که به دردتون بخوره البته خودتون توش تغییراتی بدین منظم تر میشه من که عجله ای نوشتم و فقط منظورم رسوندن مطلب بود
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله parsavb : جمعه 24 خرداد 1387 در 12:32 عصر

  6. #6

    نقل قول: ذخیره عکس در دیتابیس و نمایش آن

    خیلی خیلی ممنون ;)

  7. #7
    کاربر دائمی آواتار saghari
    تاریخ عضویت
    مهر 1384
    محل زندگی
    Tehran
    پست
    300

    نقل قول: ذخیره عکی در دیتابیس

    با سلام
    دوستان به این نکته حتما توجه کنن که انتخاب سیاست درست در نحوه دخیره تصاویر در برنامه ها بسیار مهم است. مثلا در سازمان بنادر از یک نرم افزار اتوماسیون استفاده میشد که تصاویر رو درون دیتابیس ذخیره میکرد استفاده میکردن. بعد از دو سال اونقدر حجم بانک بزرگ شد که علی الرغم مناسب بودن امکانات نرم افزار ترجیح دادن از نرم افزار دیگه ای استفاده کنن.
    خلاصه توصیه میکنم در انتخاب سیاست صحیح برای ذخیره تصاویر دقت کنید.
    من خودم در نرم افزارهایی که نیاز به ذخیره تصاویر با حجم زیاد دارند (مثل اتوماسیون و ...) ، تصاویر رو روی هارد سرور save میکنم و از طریق Webservice اونها رو میخونم اینطوری هم امنیت خوبی داره هم حجم دیتابیس زیاد نمیشه
    موفق باشید.

  8. #8

    نقل قول: ذخیره عکی در دیتابیس

    با سلام
    دوست من چطوري با استفاده از Webservice تصاوير را در ثبت و فراخواني ميكنيد؟

  9. #9
    کاربر دائمی آواتار parsavb
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    جلوي کامپيوتر
    پست
    210

    نقل قول: ذخیره عکی در دیتابیس

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

  10. #10

    نقل قول: ذخیره عکی در دیتابیس

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


    Public Function Convert_Image_From_Byte(ByVal strinput As Byte()) As Image
    newMstream = New MemoryStream(CType(strinput, Byte()))
    Return Image.FromStream(newMstream)
    End Function


    Public Function Get_Image_Byte(ByVal StrAddress As String) As Byte()
    imgByte = Nothing
    stream = New FileStream(StrAddress, FileMode.Open)
    reader = New BinaryReader(stream)
    imgByte = reader.ReadBytes(stream.Length)
    stream.Close()
    Return imgByte
    End Function


    از این کد هم برای گرفتن عکس از دیتابیس استفاده می کنم:

    Public Function GetImage_Edit(ByVal strmeli As String) As Byte()
    GetImage_Edit = Nothing
    resetConnection()
    SQL = String.Format("SELECT * FROM tbl_karmand WHERE K_Meli='{0}'", strmeli)
    Comm = New SqlClient.SqlCommand(SQL, Cn)
    dread = Comm.ExecuteReader
    While dread.Read
    imgByte = CType(dread.Item(12), Byte())
    Return imgByte
    End While
    End Function


    این کد هم برای ویرایش :


    Public Function Edit_Karmand(ByVal K_Name As String, ByVal K_Family As String, ByVal K_Tell As String, ByVal K_Mobile As String, ByVal K_Hesab As String, ByVal K_Kart As String, ByVal K_Address As String, ByVal K_Meli As String, ByVal K_Sabeghe As String, ByVal K_Job As String, ByVal K_Hoghogh As String, ByVal K_Admin As String) As Boolean
    resetConnection()
    SQL = String.Format("UPDATE tbl_karmand SET K_Name='{0}', K_Family='{1}', K_Tell='{2}', K_Mobile='{3}', K_Hesab='{4}', K_Kart='{5}', K_Address='{6}', K_Sabeghe='{8}', K_Job='{9}', K_Hoghogh='{10}', K_Admin='{11}', K_Img='{12}' WHERE K_Meli='{7}'", K_Name, K_Family, K_Tell, K_Mobile, K_Hesab, K_Kart, K_Address, K_Meli, K_Sabeghe, K_Job, K_Hoghogh, K_Admin, "@pic")
    Comm.CommandText = SQL
    Comm.Parameters.Add("@pic", imgByte)
    Comm.CommandType = CommandType.Text
    Comm.Connection = Cn
    Try
    Comm.ExecuteNonQuery()
    Comm.Dispose()
    Cn.Close()
    Return True
    Catch ex As Exception

    Cn.Close()
    Return False
    End Try
    End Function




    این کد هم برای اضافه کردن(که مشکلی نداره)



    Public Function Add_Karmand(ByVal K_Name As String, ByVal K_Family As String, ByVal K_Tell As String, ByVal K_Mobile As String, ByVal K_Hesab As String, ByVal K_Kart As String, ByVal K_Address As String, ByVal K_Meli As String, ByVal K_Sabeghe As String, ByVal K_Job As String, ByVal K_Hoghogh As String, ByVal K_Admin As String) As Boolean
    resetConnection()

    SQL = String.Format("INSERT INTO tbl_karmand (K_Name, K_Family, K_Tell, K_Mobile, K_Hesab, K_Kart, K_Address, K_Meli, K_Sabeghe, K_Job, K_Hoghogh, K_Admin, K_Img) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', @Picture)", K_Name, K_Family, K_Tell, K_Mobile, K_Hesab, K_Kart, K_Address, K_Meli, K_Sabeghe, K_Job, K_Hoghogh, K_Admin)
    Comm.CommandText = SQL
    Comm.Parameters.Add("@Picture", imgByte)
    Comm.CommandType = CommandType.Text
    Comm.Connection = Cn
    Try
    Comm.ExecuteNonQuery()
    Comm.Dispose()
    Cn.Close()
    blnIsImage = False
    Return True
    Catch ex As Exception
    strMessage = ex.Message
    Return False
    Cn.Close()
    End Try
    End Function




    اگه میشه بگید مشکل از کجاست که خطا میده


    راستی. اینم اروری که میده

  11. #11

    نقل قول: ذخیره عکی در دیتابیس

    کسی نبود کمکم کنه؟!!!!!!!!!

  12. #12

    نقل قول: ذخیره عکی در دیتابیس

    لطفا ذخیره عکس در دیتابیس البته به صورت Webservice که فقط آدرس در دیتابیس ذخیره میشه و خود عکس در شاخه ای به نام pic در سرور ذخیره بشه را با سورس کد بنویسید یکی از بزرگترین مشکل این سایت این است که تمام کدها پشت سر هم میاد و برای جدا کردن آن وقت زیادی را میگیره؟ خواهشا این مشکل برطرف شود. لطفا با سورس کد این مورد را برای ما بگذارید البته با vb.net2010 باشد حتما چون من 2010 نصب دارم تشکر
    آخرین ویرایش به وسیله naseri1152 : یک شنبه 03 دی 1391 در 10:09 صبح

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

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