예제 #1
0
        /// <summary>
        /// 게시판 파일 강제 다운로드 기능(/BoardDown/:Id)
        /// </summary>
        public async Task <IActionResult> FileDown(int id)
        {
            var model = await _repository.GetByIdAsync(id);

            if (model == null)
            {
                return(null);
            }
            else
            {
                if (!string.IsNullOrEmpty(model.FileName))
                {
                    byte[] fileBytes = await _fileStorageManager.DownloadAsync(model.FileName, "Archives");

                    if (fileBytes != null)
                    {
                        model.DownCount = model.DownCount + 1;
                        await _repository.EditAsync(model);

                        return(File(fileBytes, "application/octet-stream", model.FileName));
                    }
                    else
                    {
                        return(Redirect("/"));
                    }
                }

                return(Redirect("/"));
            }
        }