Example #1
0
        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            if (HttpContext.Current.Session["CurrentUser"] == null)
            {
                Response.Redirect("Logout.aspx");
            }

            var ePhoto = new BestStudentPicture();
            OleDbCommand myCmd = ePhoto.dbCmd;
            myCmd.CommandText = "select photosize, photoname, picture from beststudentpicture where centerid = ? and studentid = ?";
            OleDbParameter sid = new OleDbParameter("studentid",OleDbType.VarChar, 50);
            sid.Value = Request.QueryString["sid"];
            OleDbParameter cid = new OleDbParameter("centerid", OleDbType.VarChar, 50);
            cid.Value = Request.QueryString["cid"];
            myCmd.Parameters.Add(cid);
            myCmd.Parameters.Add(sid);
            OleDbDataReader readphoto = myCmd.ExecuteReader();
            bool hasPhoto = false;
            if(readphoto.Read())
            {
                if (readphoto.GetValue(1).GetType() != Type.GetType("System.DBNull"))
                {
                    string photoname = readphoto.GetString(1);
                    var tvalue = readphoto.GetValue(2);
                    photo = (byte[])tvalue;
                    Response.AddHeader("content-disposition", "inline;filename=" + Server.UrlEncode(photoname));
                    Response.ContentType = "images/" + (System.IO.Path.GetExtension(photoname) ?? "jpg").ToLower();
                    Response.BinaryWrite(photo);
                    hasPhoto = true;
                }
            }

            if(! hasPhoto)
            {
                Response.AddHeader("content-disposition", "inline;filename=PhotoDoesNotExist.png");
                Response.ContentType = "image/png";
                Response.WriteFile(Server.MapPath("images/NoPhotoYet.png"));
                Response.End();
                return;

            }
        }
Example #2
0
        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            if (HttpContext.Current.Session["CurrentUser"] == null)
            {
                Response.Redirect("Logout.aspx");
            }

            BestField sid = new BestField() { fieldName = "studentid", fieldSize = 50, fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar };
            sid.fieldValue = Request.QueryString["sid"];
            BestField cid = new BestField() { fieldName = "centerid", fieldSize = 50, fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar };
            cid.fieldValue = Request.QueryString["cid"];
            BestStudentPicture studPic = new BestStudentPicture();
            List<BestField> bparams = new List<BestField>();
            bparams.Add(sid);
            bparams.Add(cid);
            studPic.LoadRows("studentid = ? and centerid = ?", bparams);
            object stdname = studPic.CurrentRow.Fields["studentGuid"].displayFormatFunc.Invoke(studPic.CurrentRow);
            ltrStdName.Text = stdname.ToString();

            if (!String.IsNullOrEmpty(Request.Form["uploadPhoto"]))
            {

                if (Request.Files.Count > 0)
                {
                    HttpPostedFile File = Request.Files[0];
                    if (File.ContentLength > 0)
                    {
                        string resizeTo = Request.Form["resizePhoto"];
                        int MaxDimension = 120;
                        int.TryParse(resizeTo, out MaxDimension);
                        MaxDimension = Math.Min(120, MaxDimension);
                        Size maxSize = new Size(MaxDimension, MaxDimension);
                        System.Drawing.Image myImage = System.Drawing.Image.FromStream(File.InputStream, false);
                        if (myImage.Height > maxSize.Height || myImage.Width > maxSize.Width)
                        {
                            //resize image
                            var hOver = Convert.ToDouble(myImage.Height) / Convert.ToDouble(maxSize.Height);
                            var wOver = Convert.ToDouble(myImage.Width) / Convert.ToDouble(maxSize.Width);
                            double pOver = Math.Max(hOver, wOver);
                            maxSize.Height = Convert.ToInt32(myImage.Height / pOver);
                            maxSize.Width = Convert.ToInt32(myImage.Width / pOver);
                            myImage = resizeImage(myImage, maxSize);
                        }

                        var imgByte = imageToByteArray(myImage); //new Byte[File.ContentLength];
                        File.InputStream.Read(imgByte, 0, imgByte.Length);
                        OleDbCommand myCmd = studPic.dbCmd;
                        if (studPic.CurrentRow.IsNew)
                        {
                            myCmd.CommandText = "insert into BestStudentPicture (picture, photosize, photoname, studentid, centerid) values (?,?,?,?,?)";
                        }
                        else
                        {
                            myCmd.CommandText = "update BestStudentPicture set picture = ?, photosize = ?, photoname = ? where studentid=? and centerid=?";
                        }
                        object tvalue = imgByte;
                        OleDbParameter p1 = new OleDbParameter("picture", OleDbType.LongVarBinary, -1, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, tvalue);
                        OleDbParameter p2 = new OleDbParameter("photosize", OleDbType.VarChar, 12);
                        p2.Value = File.ContentLength;
                        OleDbParameter p3 = new OleDbParameter("photoname", OleDbType.VarChar, 200);
                        p3.Value = File.FileName;
                        myCmd.Parameters.Clear();
                        myCmd.Parameters.Add(p1);
                        myCmd.Parameters.Add(p2);
                        myCmd.Parameters.Add(p3);
                        myCmd.Parameters.Add(sid.Param);
                        myCmd.Parameters.Add(cid.Param);
                        try
                        {
                            myCmd.ExecuteNonQuery();
                        }
                        catch (Exception ex)
                        {
                            this.errorDisplay.Text = "<div class=\"err\">There was an error saving the photo.<br />" + HttpUtility.HtmlEncode(ex.Message) + "</div>";
                        }
                    }
                }
            }
            this.defaultResizeOptionScript.Text = "<script type=\"text/javascript\">\nvar defaultSize = '90'; \n</script>";
            this.photoDisplay.Text = "<img id=\"empPhoto\" alt=\"Employee Photo\" src=\"getPhoto.aspx?sid=" + Server.UrlEncode(sid.fieldValue) + "&cid=" + Server.UrlEncode(cid.fieldValue) + "\" />";
        }