/// <summary> /// 파일 업로드 버튼 클릭 이벤트 처리기 /// </summary> protected async void FormSubmit() { int.TryParse(ParentId, out int parentId); model.ParentId = parentId; #region 일 업로드 관련 추가 코드 영역 if (selectedFiles != null && selectedFiles.Length > 0) { // 파일 업로드 var file = selectedFiles.FirstOrDefault(); var fileName = ""; int fileSize = 0; if (file != null) { fileName = file.Name; fileSize = Convert.ToInt32(file.Size); fileName = await FileStorageManagerReference.UploadAsync(file.Data, file.Name, "", true); model.FileName = fileName; model.FileSize = fileSize; } } #endregion foreach (var m in Models) { m.FileName = model.FileName; m.FileSize = model.FileSize; await RepositoryReference.AddAsync(m); } NavigationManagerInjector.NavigateTo("/Replys"); }
protected async void CreateOrEditClick() { // 변경 내용 저장 Model.Name = ModelEdit.Name; Model.Title = ModelEdit.Title; Model.Content = ModelEdit.Content; Model.Password = ModelEdit.Password; #region 일 업로드 관련 추가 코드 영역 if (selectedFiles != null && selectedFiles.Length > 0) { // 파일 업로드 var file = selectedFiles.FirstOrDefault(); var fileName = ""; int fileSize = 0; if (file != null) { //file.Name = $"{DateTime.Now.ToString("yyyyMMddhhmmss")}{file.Name}"; fileName = file.Name; fileSize = Convert.ToInt32(file.Size); //[A] byte[] 형태 //var ms = new MemoryStream(); //await file.Data.CopyToAsync(ms); //await FileStorageManager.ReplyAsync(ms.ToArray(), file.Name, "", true); //[B] Stream 형태 //string folderPath = Path.Combine(WebHostEnvironment.WebRootPath, "files"); await FileStorageManagerReference.UploadAsync(file.Data, file.Name, "Memos", true); Model.FileName = fileName; Model.FileSize = fileSize; } } #endregion if (!int.TryParse(parentId, out int newParentId)) { newParentId = 0; } Model.ParentId = newParentId; Model.ParentKey = Model.ParentKey; if (Model.Id == 0) { // Create await RepositoryReference.AddAsync(Model); CreateCallback?.Invoke(); } else { // Edit await RepositoryReference.EditAsync(Model); await EditCallback.InvokeAsync(true); } //IsShow = false; // this.Hide() }
/// <summary> /// 저장하기 버튼 클릭 이벤트 처리기 /// </summary> protected async void FormSubmit() { int.TryParse(ParentId, out int parentId); // 드롭다운 선택 값을 정수형으로 변환 Model.ParentId = parentId; // 선택한 ParentId 값 가져오기 #region 일 업로드 관련 추가 코드 영역 if (selectedFiles != null && selectedFiles.Length > 0) { // 파일 업로드 var file = selectedFiles.FirstOrDefault(); var fileName = ""; int fileSize = 0; if (file != null) { fileName = file.Name; fileSize = Convert.ToInt32(file.Size); fileName = await FileStorageManagerInjector.UploadAsync(file.Data, file.Name, "", true); Model.FileName = fileName; Model.FileSize = fileSize; } } #endregion if (Id != 0) { // Reply: 답변 글이라면, await RepositoryReference.AddAsync(Model, ParentRef, ParentStep, ParentRefOrder); } else { // Create: 일반 작성 글이라면, await RepositoryReference.AddAsync(Model); } NavigationManagerInjector.NavigateTo("/Replys"); }
/// <summary> /// 저장하기 버튼 클릭 이벤트 처리기 /// </summary> protected async void FormSubmit() { int.TryParse(ParentId, out int parentId); // 드롭다운 선택 값을 정수형으로 변환 Model.ParentId = parentId; // 선택한 ParentId 값 가져오기 #region 일 업로드 관련 추가 코드 영역 if (selectedFiles != null && selectedFiles.Length > 0) { // 파일 업로드 var file = selectedFiles.FirstOrDefault(); var fileName = ""; int fileSize = 0; if (file != null) { fileName = file.Name; fileSize = Convert.ToInt32(file.Size); fileName = await FileStorageManagerInjector.UploadAsync(file.Data, file.Name, "Memos", true); Model.FileName = fileName; Model.FileSize = fileSize; } } #endregion var m = new Memo(); m.Name = Model.Name; m.Title = Model.Title; m.Content = Model.Content; m.Password = Model.Password; m.Email = Model.Email; m.FileName = Model.FileName; m.FileSize = Model.FileSize; m.PostDate = DateTime.Now; m.ParentNum = 0; m.AnswerNum = 0; m.CommentCount = 0; m.Created = DateTime.UtcNow; m.CreatedBy = ""; m.Category = "Free"; m.AnswerNum = 0; m.CommentCount = 0; m.Encoding = "Text"; m.Email = ""; m.IsPinned = false; m.Modified = DateTime.Now; m.ModifyIp = ""; m.PostIp = "127.0.0.1"; m.Step = 0; m.RefOrder = 0; if (Id != 0) { // Memo: 답변 글이라면, await RepositoryReference.AddAsync(m, Id); } else { // Create: 일반 작성 글이라면, await RepositoryReference.AddAsync(m); } // Manage 컴포넌트로 이동 NavigationManagerInjector.NavigateTo("/Memos"); }