public async ValueTask EditArticle(ArticlesEdit articlesEdit) { var originalItem = await GetArticleAsync(articlesEdit.Id); //標籤更新機制,先刪除再跑新增機制 await DeleteTagCloudSync(originalItem.Tags.Split(",")); await InserTagCloudSync(articlesEdit.TagsArray); //上傳圖片處理 var UploadUrl = _configuration.GetValue <string>("AppSettings:UploadUrl"); var DeleteFileFlag = (originalItem.CoverPhoto.IndexOf(UploadUrl) > -1); if (articlesEdit.CoverPhotoImg != null) { var fileName = await SaveFile(articlesEdit.CoverPhotoImg); var fileUrl = GetUploadUrl() + fileName; if (DeleteFileFlag) { var DeletePath = GetSaveFilePath() + originalItem.CoverPhoto.Replace(UploadUrl, ""); DeleteFile(DeletePath); } originalItem.CoverPhoto = fileUrl; } originalItem.Tags = string.Join(",", articlesEdit.TagsArray); originalItem.DayOfWeek = articlesEdit.CreateDate.DayOfWeek; originalItem.Body = articlesEdit.Body; originalItem.Title = articlesEdit.Title; _articlesRepository.Update(originalItem); await SaveAsync(); }
public async Task <IActionResult> Edit(ArticlesEdit model) { ModelState.Remove("CoverPhoto"); // 移除原先圖片必填欄位驗證 if (ModelState.IsValid) { await _blogService.EditArticle(model); return(RedirectToAction("Index", "Management")); } return(View(model)); }