-
15-08-2015, 07:52 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Thắc mắc lưu ảnh vào CSDL SQL Server 2008 R2
Mọi người cho mình hỏi ? khi mình dùng ASP.net (C#) muốn lưu một bức ảnh vào Sql Server 2008 R2 thì cách lưu đường dẫn của bức ảnh
vào csdl dạng nvarchar và lưu trực tiếp nội dung bức ảnh đó vào csdl dạng image cách nào tốt hơn ?
vì mình dùng datalist control để hiển thị ảnh với cách lưu đường dẫn thì mình hiển thị được bức ảnh còn cách lưu trực tiếp bức ảnh đó vào csdl image thì pó tay không biết làm thế nào ? nhờ mọi người giải đáp giúp !View more random threads:
- FCKeditor không hiển thị khung soạn thảo trong Firefox 17
- Lấy text trong Cute Editor để thêm vào database ?
- Hàm confirm trong jquery lỗi Ấn HỦY những vẫn thực hiện request?
- Cách lấy SelectedIndex của DropDownList
- Định dạng datetime trong DataList ASP.NET - string format có tác dụng gì?
- Cách truyền giá trị của textbox vào tham số của controller ASPNET MVC
- Lỗi không gửi được mail trong c#
- Load động user control + call event trên Web ASP.NET?
- Cách cấp quyền cho app sau khi login bằng tài khoản facebook thông qua facebook oauth trên mvc?
- Cập nhật lại hàng dùng store!
-
17-08-2015, 09:18 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
mình nghĩ cách 1 tốt hơn. cách 2 làm web nhiều mà chưa dùng bao giờ
-
31-08-2015, 06:28 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Với C2 nếu như bạn có nhiều Ảnh và dung lượng ảnh lớn thì CSDL sẽ tăng nhanh khủng khiếp đấy!
-
01-09-2015, 03:50 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Nếu lưu đường dẫn, bạn có cơ chế để cập nhật khi path bị thay đổi : del, move ?
-
03-09-2015, 07:10 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Lưu ảnh là dạng image ở database và trong C# hay VB.NET là byte array
-
05-09-2015, 08:23 AM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Tùy vào phần mềm mà lưu đường dẫn hay lưu ảnh vào Data.
Nếu lưu ảnh vào Data thì lên tạo 1 Table riêng chỉ lưu khóa và dữ liệu.
Nếu lưu ảnh vào Data thì đây:
USE [Hrm]
GO
/****** Object: Table [dbo].[HPicPersion] Script Date: 9/5/2015 1:20:44 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[HPicPersion](
[Stt_rec] [nchar](16) NOT NULL,
[Per_Pic] [image] NOT NULL,
CONSTRAINT [PK_HPicPersion] PRIMARY KEY CLUSTERED
(
[Stt_rec] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
///
///
///
private byte[] ImageToStream(string fileName)
{
MemoryStream stream = new MemoryStream();
tryagain:
try
{
Bitmap image = new Bitmap(fileName);
image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception ex)
{
goto tryagain;
}
return stream.ToArray();
}
///
/// fileName Đường dẫn lưu của ảnh
///
public int SavePic(string sStt_rec, string fileName)
{
string connstr = @"Data Source=.;Initial Catalog=Hrm;
Persist Security Info=True;User ID=sa";
SqlConnection sqlCon = new SqlConnection(connstr);
sqlCon.Open();
byte[] content = ImageToStream(fileName);
SqlCommand cmd = new SqlCommand(" insert into HPicPersion (Stt_rec,Per_Pic) values ( @id,@img)", sqlCon);
cmd.Parameters.AddWithValue("@id", sStt_rec);
cmd.Parameters.AddWithValue("@img", content);
cmd.ExecuteNonQuery();
sqlCon.Close();
return 0;
}
private byte[] ImageToStream(string fileName)
{
MemoryStream stream = new MemoryStream();
tryagain:
try
{
Bitmap image = new Bitmap(fileName);
image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception ex)
{
goto tryagain;
}
return stream.ToArray();
}
Không chỉ dừng lại ở việc sử dụng nguyên liệu cao cấp, mỗi công trình còn được "chăm sóc" bằng 4 dịch vụ xuất sắc của Tre Nghệ. Từ việc tư vấn, thiết kế đến thi công và hoàn thiện, mọi quy trình đều...
Chất Lượng và Sáng Tạo: Kiến Trúc...