Пример #1
0
        public JsonResult updateAvatr([FromForm] IFormCollection collection, string nick_name)
        {
            //var files = Request.Form.Files;
            int flag   = 0;
            var userid =
                (from c in entity.User
                 where c.NickName == nick_name
                 select c.UserId).Distinct();
            var id = userid.FirstOrDefault();

            if (id == default)
            {
                flag = 0;                  //没有找到该用户
                Response.StatusCode = 202; //没有该用户
                return(Json(new { code = 404, UploadFlag = flag }));
            }
            var user = entity.User.Find(id); //在数据库中根据key找到相应记录



            FormFileCollection files = (FormFileCollection)collection.Files;
            IFormFile          file  = files.FirstOrDefault();

            string filename      = file.FileName;                              //--"360截图20191119113847612.jpg"
            string fileExtention = System.IO.Path.GetExtension(file.FileName); //--.jpg
            string path          = Guid.NewGuid().ToString() + fileExtention;
            string basepath      = My_Environment.ContentRootPath;             //en.WebRootPath-》wwwroot的目录; .ContentRootPath到达WebApplication的项目目录
            string savePath      = basepath + "\\user's_avatr\\" + path;

            if (!Directory.Exists(savePath))
            {
                Directory.CreateDirectory(savePath);
            }
            //  using (FileStream fstream = System.IO.File.Create(newFile)) 也可以
            using (FileStream fstream = new FileStream(savePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) {
                file.CopyTo(fstream); // 复制文件
                fstream.Flush();      //清空缓存区
                user.Avatr = savePath;
                entity.Entry(user).State = EntityState.Modified;
                entity.SaveChanges();
                flag = 1;
                Response.StatusCode = 201;//成功
            }
            return(Json(new { code = 200, UploadFlag = flag }));
        }