Đăng bởi : Nông Ngọc Hoài
3/06/2014
thuvienwinform - Để đưa anh lên CSDL ta phải tạo 1 trường trong bảng với kiểu dữ liệu là image (khi up ảnh lên sẽ chứa trong trường này). Ý tưởng là sẽ convert ảnh cần up lên CSDL thành kiểu memorystream rồi mới up lên. Khi lấy về sẽ dịch ngược lại, từ memorystream thành image!
1. Tạo CSDL
2. Code up ảnh lên CSDL
//ảnh -> byte[] public byte[] imageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); return ms.ToArray(); } //byte[] -> ảnh public Image byteArrayToImage(byte[] byteArrayIn) { MemoryStream ms = new MemoryStream(byteArrayIn); Image returnImage = Image.FromStream(ms); return returnImage; }
OK! Như vậy là bạn đã có thể up ảnh lên CSDL đc rồi!
Ví dụ sử dụng 2 hàm trên cho 2 nút btChuyenMa và btDichMa (sủ dụng LINQ):
- DB.tbImage: bảng csdl để up ảnh lên, gồm 2 trường là ID và Data
private void btChuyenMa_Click(object sender, EventArgs e) { DB.tbImage img = new DB.tbImage(); img.Data = imageToByteArray(ptbAnh.Image); db.tbImages.InsertOnSubmit(img); db.SubmitChanges(); } private void btDichMa_Click(object sender, EventArgs e) { var data = (from t in db.tbImages where t.ID == 0 select t.Data.ToArray() ).SingleOrDefault(); b = data; ptbLayDL.Image = byteArrayToImage(b); }
Mình làm như bạn mà sao cứ lỗi ở đoạn DB.tbImage img = new DB.tbImage(); nó hiểu db là type chứ ko phải là field. báo lỗi hoài ah
ReplyDeleteBạn gửi mã nguồn vào mail mình xem sao...ngochoaitn@gmail.com
DeleteCode Up Ảnh Lên Csdl (Sử Dụng Kiểu Image Trong Sql Server) >>>>> Download Now
Delete>>>>> Download Full
Code Up Ảnh Lên Csdl (Sử Dụng Kiểu Image Trong Sql Server) >>>>> Download LINK
>>>>> Download Now
Code Up Ảnh Lên Csdl (Sử Dụng Kiểu Image Trong Sql Server) >>>>> Download Full
>>>>> Download LINK Cm
Cho mình hỏi ? sao dùng cách này thì nó lại load chậm hơn so với mình sử dụng image.fromfile vậy ? Bạn hướng dẫn giúp với
ReplyDeleteVâng, vì chính quá trình chuyển đổi qua lại giữa byte và image nên bị chậm ạ. Ảnh dung lượng càng lớn càng chậm
DeleteThis comment has been removed by the author.
DeleteBạn ơi cho mình hỏi khi ảnh lưu thành công vào database ròi thì làm sao mình lấy ảnh đó từ database gửi qua socket và hiển thị lên form bên kia? Giúp mình chỗ này với
ReplyDeletetôi đang làm một ứng dụng đang gặp vấp đề là: tôi tạo barcode PDF417, tôi tạo hàm save barcode thành hình ảnh lưu trong một folder, bây giờ tôi muốn làm lấy barcode đó lưu vào database mà không dc. có thể giúp tôi không? tôi sử dụng barcodecontrol của spride
ReplyDeletead ơi nếu có 1 dòng nào đó của trường ảnh mà null thì sẽ báo lỗi. không load được dữ liệu. làm thế nào để load được dữ liệu nếu dòng nào null thì không hiển thị ảnh, còn nếu có ảnh thì hiển thị bình thường
ReplyDeleteQuà tặng họp lớp
ReplyDeleteĐồng hồ pha lê
Cúp bóng đá
Code Up Ảnh Lên Csdl (Sử Dụng Kiểu Image Trong Sql Server) >>>>> Download Now
ReplyDelete>>>>> Download Full
Code Up Ảnh Lên Csdl (Sử Dụng Kiểu Image Trong Sql Server) >>>>> Download LINK
>>>>> Download Now
Code Up Ảnh Lên Csdl (Sử Dụng Kiểu Image Trong Sql Server) >>>>> Download Full
>>>>> Download LINK