コード例 #1
0
        public async Task <IActionResult> PostUserUploadAvatar([FromForm] UploadFileDTO files)
        {
            var user = await _userManager.FindByIdAsync(User.FindFirstValue(ClaimTypes.NameIdentifier));

            var resultPath = await _fileService.UploadFileAsync(
                files.FormFile.OpenReadStream(),
                Path.Combine(_savePath, user.Id),
                Path.GetExtension(files.FormFile.FileName),
                Path.GetFileName(files.FormFile.FileName));

            var avatar = await _avatarManager.GetByUserIdAsync(user.Id);

            if (avatar == null)
            {
                user.UserAvatar = new UserAvatar
                {
                    FileExtension = Path.GetExtension(resultPath),
                    FileName      = Path.GetFileName(resultPath),
                };
                await _userManager.UpdateAsync(user);
            }
            else
            {
                await _avatarManager.UpdateAvatarAsync(user.Id,
                                                       Path.GetFileName(resultPath),
                                                       Path.GetExtension(resultPath));
            }

            return(Ok());
        }
コード例 #2
0
        public ActionResult UploadChatFile()
        {
            UploadFileDTO      model = new UploadFileDTO();
            HttpPostedFileBase file  = Request.Files["uploadfile_ant"];

            if (file != null)
            {
                model.Catalog  = DateTime.Now.ToString("yyyyMMdd");
                model.ImgIndex = Convert.ToInt32(Request.Form["imgIndex"]);
                string extensionName = System.IO.Path.GetExtension(file.FileName);
                model.FileName = Utils.GetRamCode() + extensionName;
                string filePathName = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory.ToString() + ConfigurationManager.AppSettings["ImageAbsoluteFolderTemp"], model.Catalog);

                if (!System.IO.Directory.Exists(filePathName))
                {
                    System.IO.Directory.CreateDirectory(filePathName);
                }

                string relativeUrl = Request.RawUrl + ":" + Request.Url.Port + ConfigurationManager.AppSettings["ImageAbsoluteFolderTemp"];
                file.SaveAs(System.IO.Path.Combine(filePathName, model.FileName));
                string url = System.IO.Path.Combine(relativeUrl, model.Catalog, model.FileName).Replace("\\", "/");
                model.Url = url;
            }


            return(Json(model));
        }
コード例 #3
0
        public ContentResult UploadFileNew()
        {
            UploadFileDTO      model = new UploadFileDTO();
            HttpPostedFileBase file  = Request.Files["uploadfile_ant"];

            if (file != null)
            {
                //公司编号+上传日期文件主目录
                model.Catalog  = DateTime.Now.ToString("yyyyMMdd");
                model.ImgIndex = Convert.ToInt32(Request.Form["imgIndex"]);

                //获取文件后缀
                string extensionName = System.IO.Path.GetExtension(file.FileName);

                //文件名
                model.FileName = System.Guid.NewGuid().ToString("N") + extensionName;

                //保存文件路径
                string filePathName = System.IO.Path.Combine(CommonHelper.GetConfigValue("ImageAbsoluteFolderTemp"), model.Catalog);
                if (!System.IO.Directory.Exists(filePathName))
                {
                    System.IO.Directory.CreateDirectory(filePathName);
                }
                //相对路径
                string relativeUrl = CommonHelper.GetConfigValue("ImageRelativeFolderTemp");
                file.SaveAs(System.IO.Path.Combine(filePathName, model.FileName));

                //获取临时文件相对完整路径
                model.Url = System.IO.Path.Combine(relativeUrl, model.Catalog, model.FileName).Replace("\\", "/");
            }
            return(Content(Newtonsoft.Json.JsonConvert.SerializeObject(model)));
        }