PDA

View Full Version : مشاهده تصویر یا فایل ذخیره شده در دیتابیس



viper2009
شنبه 03 دی 1390, 00:42 صبح
با سلام

چه روشی هست که می توان عکس یا فایل ذخیره شده در دیتابیس را با برنامه اصلی خود فایل مشاهده نمود؟
مثلاً برای نشان دادن تصاویر با فرمت JPEG و GIF در ویندوز از نرم افزار WINDOWS PHOTO GALLERY و تصاویر با فرمت PSD با فتوشاپ و اگر فایل PDF باشه با Adobe Acrobat Reader نمایش داده می شوند.

علت این سوال این است که اگر تصویری را در بانک ذخیره کنم با روش هایی که گفته شده فقط در Image Box نمایش داده می شود و نمی توان کنترلی از قبیل زوم کردن ، اسکرول نمودن ، ویرایش ، چاپ ، ارسال به ایمیل و غیره را انجام داد (البته می دونم که برای هر کدام از این موارد می توان کدی نوشت) اما چه بهتر که با برنامه ویندوز باز شود

با تشکر.

sayvan
شنبه 03 دی 1390, 01:05 صبح
سلام خودت گفتی که تصویر ذخیره شده رو میتونی از دیتابیس تو یه pic box لود کنی برای این بتونی تصویر رو با برنامه پیش فرض ویندوز باز کنی (#C)
اول تصویر pic box رو در یه الگوی بیتی یا همون bitmap ذخیره میکنی کد:
Bitmap s = new Bitmap(pictureBox1.Image);
بعد الگو رو در یه فایل با پسوند مورد نظر ذخیره میکنی کد:

s.Save("c:\\a.bmp");
یعدش باید فایل ذخیره شده رو با برنامه ویندوزی اجرا کنی کاری نداره کد:

System.Diagnostics.Process.Start("c:\\a.bmp");
کد سی شارپه

mgh64120
شنبه 03 دی 1390, 23:23 عصر
سلام دوست عزيز
اين قطعه كد براي فراخواني عكس از ديتابيس به PictureBox :

Dim ImgFileContent() As Byte
Dim cmd As SqlCommand = New SqlCommand("SELECT Pic FROM <TableName> WHERE ID = " & شرط مورد نظر, Con)
If Con.State = ConnectionState.Closed Then Con.Open()
Dim Result As Object = cmd.ExecuteScalar
If Result Is DBNull.Value = False Then
ImgFileContent = CType(Result, Byte())
Dim ms As New MemoryStream(ImgFileContent)
With PictureBox1
.Image = Image.FromStream(ms)
.SizeMode = PictureBoxSizeMode.Zoom
End With
End If
Con.Close()

موفق باشيد...

Hossis
یک شنبه 04 دی 1390, 19:12 عصر
همانطور که جناب سایوان گفتند

شما باید تصویر لود شده در ایمیج باکس را در یک فایل موقتی ذخیره کرده و سپس با برنامه خاص آن را باز کنید بعد هم فایل که ویرایش شد, فایل را لود کرده در ایمیج باکس و سپس در بانک ذخیره می کنید