내 프로젝트에서 관리자가 임원 프로필에 메달을 추가하도록 허용합니다. 현재 최대 5 개의 메달을 넣을 수 있습니다. 그러나 선생님은 관리자에게 임원 프로필에 대해 원하는만큼의 메달을 삽입하도록 요청합니다. 나는 관리자가 삽입 한 모든 이미지를 검색하는 방법을 모르겠다. varbinary를 사용하여 데이터베이스에 이미지를 삽입하는 방법을 알고있다. 이 일을 위해 저에게 길을주십시오. 감사! 업로드데이터베이스에서 여러 이미지 가져 오기 표시
코드 : 아래
코드는 내가 5 개 메달의 최대 삽입 할 어떻게
System.Drawing.Image uploaded = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
System.Drawing.Image newImage = new Bitmap(1024, 768);
using (Graphics g = Graphics.FromImage(newImage))
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(uploaded, 0, 0, 1024, 768);
}
byte[] results;
using (MemoryStream ms = new MemoryStream())
{
ImageCodecInfo codec = ImageCodecInfo.GetImageEncoders().FirstOrDefault(c => c.FormatID == ImageFormat.Jpeg.Guid);
EncoderParameters jpegParms = new EncoderParameters(1);
jpegParms.Param[0] = new EncoderParameter(Encoder.Quality, 95L);
newImage.Save(ms, codec, jpegParms);
results = ms.ToArray();
}
string sqlImage = "Insert into OfficerMedal(policeid, image) values ('" + Session["policeid"] + "', @Data)";
SqlCommand cmdImage = new SqlCommand(sqlImage);
cmdImage.Parameters.AddWithValue("@Data", results);
InsertUpdateData(cmdImage);
나는 동안 추가하려면 aspx 페이지
protected void Page_Load(object sender, EventArgs e)
{
string strQuery = "select image from OfficerMedal where policeid='" + Session["policeid"] + "'";
SqlCommand cmd = new SqlCommand(strQuery);
DataTable dt = GetData(cmd);
if (dt != null)
{
download(dt);
}
}
private DataTable GetData(SqlCommand cmd)
{
DataTable dt = new DataTable();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlDataAdapter sda = new SqlDataAdapter();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
try
{
con.Open();
sda.SelectCommand = cmd;
sda.Fill(dt);
return dt;
}
catch
{
return null;
}
finally
{
con.Close();
sda.Dispose();
con.Dispose();
}
}
private void download(DataTable dt)
{
// check if you have any rows at all
// no rows -> no data to convert!
if (dt.Rows.Count <= 0)
return;
// check if your row #0 even contains data -> if not, you can't do anything!
if (dt.Rows[0].IsNull("image"))
return;
Byte[] bytes = (Byte[])dt.Rows[0]["image"];
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "image/jpg";
Response.BinaryWrite(bytes);
Response.End();
}
를 사용하여 이미지를 검색 데이터베이스에서 이미지 1을 1 회 검색하는 현재 방법입니다. 대신 장교에 속한 모든 이미지를 검색합니다.
일부 코드는 지금까지 시도한 모든 내용을 게시하십시오. – Pratik
"그 이미지를 데이터베이스에 삽입하는 방법 만 알고 있습니다."- 이미지를 데이터베이스에 바이너리로 삽입하거나 파일 시스템에 이미지를 저장하고 데이터베이스에 경로를 저장한다는 의미입니까? – kandroid
이미지를 바이너리로 데이터베이스에 삽입 – XiAnG