移动端上传图片前端压缩,获取input type=file路径


前端代码

 

后端代码

            string base64 = context.Request.Params["imagefile"];

            string data = context.Request.Form["imageData"];
            string strData = data.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[1];

            //图片的路径
            string basePath = AppDomain.CurrentDomain.BaseDirectory;
            string dirName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();
            string dirChildName = DateTime.Now.Day.ToString();
            string imagePath = String.Format(@"Upload\{0}\{1}", dirName, dirChildName);
            string path = Path.Combine(basePath, imagePath);
            Directory.CreateDirectory(path);

            strData = strData.Replace("%2B", "+");
            byte[] arr = Convert.FromBase64String(strData);
            MemoryStream ms = new MemoryStream(arr);
            Bitmap bmp = new Bitmap(ms);
            string imageName = DateTime.Now.Ticks + ".jpg";
            string savePath = Path.Combine(path, imageName);
            bmp.Save(savePath, ImageFormat.Jpeg);
            ms.Close();
            //将路径前加一个\
            //imagePath = "\" + imagePath;
            imagePath = imagePath.Replace('\\', '/');