ذخیره و بازیابی عکس با استفاده از LINQ در سی شارپ
با فرض اینکه یک برنامه به صورت زیر دارید:
می توانید آخرین عکس ذخیره شده در دیتابیس را با استفاده از کد زیر نمایش دهید :
using System; using System.Drawing; using System.IO; using System.Linq; using System.Windows.Forms; namespace WindowsFormsApplication14 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public byte[] imageToByteArray(System.Drawing.Image imageIn) { MemoryStream MemoryStream1 = new MemoryStream(); imageIn.Save(MemoryStream1, System.Drawing.Imaging.ImageFormat.Gif); return MemoryStream1.ToArray(); } public Image byteArrayToImage(byte[] byteArrayIn) { MemoryStream MemoryStream1 = new MemoryStream(byteArrayIn); Image returnImage = Image.FromStream(MemoryStream1); return returnImage; } private void button3_Click(object sender, EventArgs e) { OpenFileDialog OpenFileDialog1 = new OpenFileDialog(); if (OpenFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { byte[] ImageBytes = this.imageToByteArray(Image.FromFile(OpenFileDialog1.FileName)); tableImage image = new tableImage() { Image = ImageBytes }; SaveImageDataContext context = new SaveImageDataContext(); context.tableImages.InsertOnSubmit(image); context.SubmitChanges(); } } private void button1_Click(object sender, EventArgs e) { SaveImageDataContext context = new SaveImageDataContext(); tableImage lastInsertedImage = context.tableImages.OrderByDescending(image => image.Id).First(); this.pictureBox2.Image = this.byteArrayToImage(lastInsertedImage.Image.ToArray()); } } }
سلام استاد ابراهیمی بزرگ . استاد این آموزش رو باید حق عضویا پرداخت کنیم. و سوال دیگه این که ذخیره و بازیابی تصاویر با linq هستش و میشه با بانک sql express استفاده کرد. بی زحمت زود جواب بدین یکم عجله دارم.
سلام ، این ها ” کلاس ” هایی هستند که L2S به صورت خودکار برای شما ایجاد می کنه و به مانند سایر کلاس های می تونید از اونها استفاده کنید ( باید شی ایجاد کنید و متد های آن را فراخوانی کنید )
SaveImageDataContext و tableImage چطور استفاده میشه ؟ من که نمی توانم از آنها استفاده کنم