public async Task <IActionResult> Create([Bind("Id,Judul,Tanggal,Path,Source,FImage,Kategori,Tag,Penulis,Status,DriveId,Parents")] KonsultasiInfografis infografis, IFormFile file) { if (ModelState.IsValid) { infografis.Tanggal = DateTime.Now; if (infografis.FImage != null) { infografis.FImage = infografis.FImage.Replace("file/d/", "uc?id="); infografis.FImage = infografis.FImage.Replace("/view?usp=sharing", ""); } if (infografis.FImage == null) { infografis.FImage = "/uploads/image/general/pdf.png"; } if (infografis.Penulis == null) { infografis.Penulis = "admin"; } infografis.Status = 1; DriveService service = driveService.GetService(); var folderId = "1IUnzUF1JzKD8ZBoUHRftA67YYbk_3akr"; string path = Path.GetTempFileName(); var fileMetadata = new Google.Apis.Drive.v3.Data.File() { Name = Path.GetFileName(file.FileName), Parents = new List <string> { folderId } }; FilesResource.CreateMediaUpload request; using (var stream = new System.IO.FileStream(path, System.IO.FileMode.Open)) { await file.CopyToAsync(stream); request = service.Files.Create( fileMetadata, stream, "application/pdf"); request.Fields = "id"; request.Upload(); } var fileUploaded = request.ResponseBody; infografis.DriveId = fileUploaded.Id; infografis.Source = "https://drive.google.com/uc?id=" + fileUploaded.Id; infografis.Judul = file.FileName; infografis.Parents = folderId; _context.Add(infografis); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(List))); } return(View(infografis)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Judul,Tanggal,Path,Source,FImage,Kategori,Tag,Penulis,Status,DriveId,Parents")] KonsultasiInfografis infografis, IFormFile file) { if (id != infografis.Id) { return(NotFound()); } if (ModelState.IsValid) { try { DriveService service = driveService.GetService(); var folderId = "1aB_0pJ9qsHjP3DhOERmWacA2Mn1jDW7H"; string path = Path.GetTempFileName(); var fileMetadata = new Google.Apis.Drive.v3.Data.File() { Name = Path.GetFileName(file.FileName), Parents = new List <string> { folderId } }; FilesResource.CreateMediaUpload request; using (var stream = new System.IO.FileStream(path, System.IO.FileMode.Open)) { await file.CopyToAsync(stream); request = service.Files.Create( fileMetadata, stream, "image/jpeg"); request.Fields = "id"; request.Upload(); } var fileUploaded = request.ResponseBody; infografis.FImage = "https://drive.google.com/uc?id=" + fileUploaded.Id; infografis.Tanggal = DateTime.Now; if (infografis.FImage != null) { infografis.FImage = infografis.FImage.Replace("file/d/", "uc?id="); infografis.FImage = infografis.FImage.Replace("/view?usp=sharing", ""); } if (infografis.Penulis == null) { infografis.Penulis = "admin"; } _context.Update(infografis); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InfografisExists(infografis.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(List))); } return(View(infografis)); }