Example #1
0
        [RequestSizeLimit(52428800)] //50MB
        //[DisableRequestSizeLimit] --unlimited
        //axios 는 [FromBody] 해줘야함
        public async Task <IActionResult> SaveAjaxData(MTestJson input, string json_data)
        {
            try
            {
                if (json_data.IsNull() == false)
                {
                    input = JsonConvert.DeserializeObject <MTestJson>(json_data);
                }

                /*
                 * 파일 저장위치는 저장 테스트용이며
                 * 실제 저장시는 파일명 중복 검증 및 업로드 파일형식 (exe, js 등) 제한하여야합니다
                 * 파일명 중복문제 -> DB를 통한 filename 및 fullpath 분리관리로 해결 등
                 */

                foreach (var file in Request.Form.Files)
                {
                    if (file.Length > 0)
                    {
                        var fileName = Path.GetFileName(file.FileName);
                        var filePath = Path.Combine(_webHostEnvironment.ContentRootPath, "UploadFiles", fileName); //파일 저장위치는 소스와 분리해야하나 일단 테스트용으로 놔둠;;

                        Directory.CreateDirectory(Path.GetDirectoryName(filePath));                                //exist 하고 없으면 create 함

                        using (var stream = new FileStream(filePath, FileMode.Create))
                        {
                            await file.CopyToAsync(stream);
                        }
                    }
                }

                return(Json(new { msg = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { msg = ex.Message }));
            }
        }
Example #2
0
 public IActionResult GetTestData()
 {
     return(Json(MTestJson.GetList()));
 }