简体   繁体   中英

How can i get the rotated image in file

as of now i can upload my image in the database the problem is when i rotate the image. the uploaded image is not the rotated one, its still the image that i upload that i didnt rotate.

how can i upload the rotated image ?

Stream FileStream = File.OpenRead(ServerPath + Filename);
       // Stream FileStream = FileUpload1.PostedFile.InputStream;
       // System.Drawing.Image.FromFile(ServerPath + Filename);
        //System.Drawing.Bitmap postedimage = new System.Drawing.Bitmap(FileStream);

        objImage = ScaleImage(PostedImage, 73);
        if (FileType != "jpg" && FileType != "JPG")
        {
            objImage.Save(ServerPath + jpgFileName, ImageFormat.Jpeg);
        }
        else
        {
            //objImage.Save(ServerPath + Filename);
        }

        img = new byte[FileStream.Length];
        contentlength = FileStream.Length;

        if (contentlength > 506000)
        {
            ClientScript.RegisterClientScriptBlock(typeof(Page), "ClosePopup", "File is to large! Maximum size is 8kb", true);
        }

        else if (contentlength <= 506000)
        {
            //ImageConverter converter = new ImageConverter();
            //byte[] bytestr = (byte[])converter.ConvertTo(objImage, typeof(byte[]));
            //fs.InputStream.Read(img, 0, fs.ContentLength);
            byte[] bytestr = null;
            var fsm = ToStream(objImage, ImageFormat.Jpeg);
            //Stream fsm = ScaleImage(objImage, 73);
            BinaryReader br = new BinaryReader(fsm);
            bytestr = br.ReadBytes((int)fsm.Length);

            SqlCommand cmd = new SqlCommand("Select * FROM tblphotoupload where mem_cardno = '" + sParameter + "'", connection);

            SqlDataReader alinan_veri3;
            alinan_veri3 = cmd.ExecuteReader();

            if (alinan_veri3.Read())
            {
                int sct = 2;
                int a = Convert.ToInt32(alinan_veri3["upload_count"]);

                if (sct == 2)
                {
                    if (a >= 2) a = 2;
                    sql = "update tblphotoupload set mem_photo" + Convert.ToString(a + 1) + " = @img, upload_date" + Convert.ToString(a + 1) + " = '" + sDateTime + "', mem_contenttype" + Convert.ToString(a + 1) + " = '" + FileType + "', mem_photofile" + Convert.ToString(a + 1) + " = '" + Filename + "', upload_count='" + (a + 1) + "' where mem_cardno = '" + sParameter + "'";
                    connection.Close();
                    SqlConnection connection2 = new SqlConnection(ConfigurationManager.ConnectionStrings["EKConn"].ConnectionString);
                    connection2.Open();

                    SqlCommand cmd2 = new SqlCommand(sql, connection2);
                    cmd2.Parameters.Add(new SqlParameter("@img", bytestr));
                    cmd2.ExecuteNonQuery();
                    connection2.Close();
                }

            }
            else
            {
                //string ole;
                sql = "insert into tblphotoupload (mem_cardno, mem_photo1, upload_date1, upload_count, mem_contenttype1, mem_photofile1) values ('" + sParameter + "', @img, '" + sDateTime + "','1','" + FileType + "','" + Filename + "')";
                connection.Close();
                SqlConnection connection2 = new SqlConnection(ConfigurationManager.ConnectionStrings["EKConn"].ConnectionString);
                connection2.Open();
                SqlCommand cmd2 = new SqlCommand(sql, connection2);
                cmd2.Parameters.Add(new SqlParameter("@img", bytestr));
                cmd2.ExecuteNonQuery();
                connection2.Close();
            }
        }
    }

First of all make sure that your file is saved on the disk and then save the file into DB.

If this will not help you probably will have to either:

  • rotate it properly, rotation might be saved only by the image viewer without changing the image on the disk, i have encountered the issue with Picassa
  • rotate it in the code (rotate bytes)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM