[SQL] C #을 사용 데이터베이스에 이미지를 저장하는 방법 [마감]
SQLC #을 사용 데이터베이스에 이미지를 저장하는 방법 [마감]
나는 C #에서 데이터베이스로 사용자 이미지를 저장합니다. 어떻게 그렇게 할 수 있습니까?
해결법
-
==============================
1.당신은 SQL BLOB 컬럼에 저장 될 수있는 바이너리 형식으로 이미지를 직렬화해야합니다. 당신은 SQL 서버를 사용하는 가정, 여기에 주제에 대한 좋은 기사입니다 :
당신은 SQL BLOB 컬럼에 저장 될 수있는 바이너리 형식으로 이미지를 직렬화해야합니다. 당신은 SQL 서버를 사용하는 가정, 여기에 주제에 대한 좋은 기사입니다 :
http://www.eggheadcafe.com/articles/20020929.asp
-
==============================
2.이 방법을 사용해보십시오. 당신은 이미지 타입 바이트이다 저장할 때 때 필드를 작동합니다. 첫째는 이미지 바이트 [] 만든다. 그런 다음 타입의 바이너리의 IDataParameter를 사용하여 DB에 저장합니다.
이 방법을 사용해보십시오. 당신은 이미지 타입 바이트이다 저장할 때 때 필드를 작동합니다. 첫째는 이미지 바이트 [] 만든다. 그런 다음 타입의 바이너리의 IDataParameter를 사용하여 DB에 저장합니다.
using System.Drawing; using System.Drawing.Imaging; using System.Data; public static void PerisitImage(string path, IDbConnection connection) { using (var command = connection.CreateCommand ()) { Image img = Image.FromFile (path); MemoryStream tmpStream = new MemoryStream(); img.Save (tmpStream, ImageFormat.Png); // change to other format tmpStream.Seek (0, SeekOrigin.Begin); byte[] imgBytes = new byte[MAX_IMG_SIZE]; tmpStream.Read (imgBytes, 0, MAX_IMG_SIZE); command.CommandText = "INSERT INTO images(payload) VALUES (:payload)"; IDataParameter par = command.CreateParameter(); par.ParameterName = "payload"; par.DbType = DbType.Binary; par.Value = imgBytes; command.Parameters.Add(par); command.ExecuteNonQuery (); } }
-
==============================
3.이것은 asp.net으로는 FileUpload 컨트롤을 사용하는 방법이다 :
이것은 asp.net으로는 FileUpload 컨트롤을 사용하는 방법이다 :
byte[] buffer = new byte[fu.FileContent.Length]; Stream s = fu.FileContent; s.Read(buffer, 0, buffer.Length); //Then save 'buffer' to the varbinary column in your db where you want to store the image.
-
==============================
4.당신은 C #에서 바이트 []로 이미지를 변환 할 수 있습니다, 다음은 VARBINARY 같은 데이터베이스 열을해야합니다 (MAX)
당신은 C #에서 바이트 []로 이미지를 변환 할 수 있습니다, 다음은 VARBINARY 같은 데이터베이스 열을해야합니다 (MAX)
그 후, 그냥 다른 데이터 유형을 저장하는 것과 같습니다.
-
==============================
5.이 응용 프로그램은 웹 응용 프로그램의 경우, 다음의 경로를 저장, 당신이있어 경우에 따라 달라집니다 .. - (바이트 배열 이진)는 데이터베이스에서 이미지의 경로를 저장하거나 BLOB으로 이미지 자체를 저장할 수 있습니다 당신은 중앙 집중화 된 데이터베이스에 연결이, 당신은 바이너리로 저장해야하는 클라이언트 기반 응용 프로그램을 가지고있는 경우 이미지가 많이 better.but입니다.
이 응용 프로그램은 웹 응용 프로그램의 경우, 다음의 경로를 저장, 당신이있어 경우에 따라 달라집니다 .. - (바이트 배열 이진)는 데이터베이스에서 이미지의 경로를 저장하거나 BLOB으로 이미지 자체를 저장할 수 있습니다 당신은 중앙 집중화 된 데이터베이스에 연결이, 당신은 바이너리로 저장해야하는 클라이언트 기반 응용 프로그램을 가지고있는 경우 이미지가 많이 better.but입니다.
-
==============================
6.내 개인적인 취향은 같은 데이터베이스에 이미지를 저장하지 않는 것입니다. 파일 시스템의 이미지 어딘가를 저장하고 데이터베이스에 대한 참조를 저장합니다.
내 개인적인 취향은 같은 데이터베이스에 이미지를 저장하지 않는 것입니다. 파일 시스템의 이미지 어딘가를 저장하고 데이터베이스에 대한 참조를 저장합니다.
-
==============================
7.당신은 SQL을 사용하고 있기 때문에, 특히 이미지를로드하는 점을 감안 ( '문자열의 문을 쓰는') 애드혹을 사용하여에 추천 할 것입니다.
당신은 SQL을 사용하고 있기 때문에, 특히 이미지를로드하는 점을 감안 ( '문자열의 문을 쓰는') 애드혹을 사용하여에 추천 할 것입니다.
ADO.NET은 당신을 위해 매핑의 노력 모두, 이스케이프 등을 할 수 있습니다.
어느 저장 프로 시저를 만들거나 바인딩을 할 SqlParameter에 사용합니다.
다른 포스터가 말하는 것처럼, 스토리지 유형으로 VARBINARY (MAX)를 사용 - 이미지 depracated되고있다.
-
==============================
8.나는이 유효한 질문에 이미 답이 여기라고 생각합니다. 나뿐만 아니라 그것을 시도했다. 내 문제는 단순히 (DevExpress의에서) 사진 편집을 사용했다. 이것은 내가 주위 가지고하는 방법입니다 :
나는이 유효한 질문에 이미 답이 여기라고 생각합니다. 나뿐만 아니라 그것을 시도했다. 내 문제는 단순히 (DevExpress의에서) 사진 편집을 사용했다. 이것은 내가 주위 가지고하는 방법입니다 :
다시 감사합니다. Chagbert
-
==============================
9.
//Arrange the Picture Of Path.*** if (openFileDialog1.ShowDialog() == DialogResult.OK) { pictureBox1.Image = Image.FromFile(openFileDialog1.FileName); string[] PicPathArray; string ArrangePathOfPic; PicPathArray = openFileDialog1.FileName.Split('\\'); ArrangePathOfPic = PicPathArray[0] + "\\\\" + PicPathArray[1]; for (int a = 2; a < PicPathArray.Length; a++) { ArrangePathOfPic = ArrangePathOfPic + "\\\\" + PicPathArray[a]; } } // Save the path Of Pic in database SqlConnection con = new SqlConnection("Data Source=baqar-pc\\baqar;Initial Catalog=Prac;Integrated Security=True"); con.Open(); SqlCommand cmd = new SqlCommand("insert into PictureTable (Pic_Path) values (@Pic_Path)", con); cmd.Parameters.Add("@Pic_Path", SqlDbType.VarChar).Value = ArrangePathOfPic; cmd.ExecuteNonQuery(); ***// Get the Picture Path in Database.*** SqlConnection con = new SqlConnection("Data Source=baqar-pc\\baqar;Initial Catalog=Prac;Integrated Security=True"); con.Open(); SqlCommand cmd = new SqlCommand("Select * from Pic_Path where ID = @ID", con); SqlDataAdapter adp = new SqlDataAdapter(); cmd.Parameters.Add("@ID",SqlDbType.VarChar).Value = "1"; adp.SelectCommand = cmd; DataTable DT = new DataTable(); adp.Fill(DT); DataRow DR = DT.Rows[0]; pictureBox1.Image = Image.FromFile(DR["Pic_Path"].ToString());
from https://stackoverflow.com/questions/3548401/how-to-save-image-in-database-using-c-sharp by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 액세스-SQL : 내부는 여러 테이블에 가입 (0) | 2020.04.08 |
---|---|
[SQL] 어떻게 연속 범위에 나 나 그룹을 (0) | 2020.04.08 |
[SQL] 엔티티 프레임 워크 오류 : 테이블의 ID 열에 대한 명시 적 값을 삽입 할 수 없습니다 (0) | 2020.04.08 |
[SQL] LINQ에서 SQL ISNULL의 등가? (0) | 2020.04.08 |
[SQL] 정규식 널 (null)을 허용 목록에서 n 번째 값을 선택합니다 (0) | 2020.04.08 |