javascript — кнопка загрузки C # проверяет наличие MD5-хеша перед загрузкой файла

Кнопка загрузки C # проверяет наличие MD5-хеша перед загрузкой файла.

У меня есть блок кода, который будет загружать файл в Google Drive. Моя главная проблема заключается в том, что когда пользователь нажимает кнопку загрузки, хэш MD5 файла проверяется и сравнивается с хешами MD5 других файлов на Google Диске, и, если есть дубликат, появляется всплывающее сообщение. Должен появиться сообщение о том, что файл является дублированным файлом, и пользователю потребуется повторно загрузить файл снова.

Это из моего файла GetGoogleDrive.cshtml.

 @using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) { {amp}lt;p{amp}gt; {amp}lt;label for="file"{amp}gt;Upload file:{amp}lt;/label{amp}gt; {amp}lt;input type="file" name="file" id="file" /{amp}gt; {amp}lt;input type="submit" value="Upload" id="fileUpload" /{amp}gt; {amp}lt;script{amp}gt; $('#fileUpload').click(function (e) { if ($('#file').val() === "") { Swal.fire({ title: 'Nothing', text: 'No file selected', type: 'error', confirmButtonText: 'Again!!', timer: 4000 }) } else { Swal.fire({ title: 'Wait awhile...', text: 'File will be uploaded shortly', type: 'success', confirmButtonText: 'Okay, cool', timer: 4000 }) } }); {amp}lt;/script{amp}gt; 

Следующий код для моего класса контроллера загрузки файлов.

 [HttpPost] public ActionResult UploadFile(HttpPostedFileBase file) { GoogleDriveFilesRepository.FileUpload(file); return RedirectToAction("GetGoogleDriveFiles"); } 

Это код для моего класса модели Google Drive Files.

 public static void FileUpload(HttpPostedFileBase file) { if (file != null {amp}amp;{amp}amp; file.ContentLength {amp}gt; 0) { DriveService service = GetService(); string path = Path.Combine(HttpContext.Current.Server.MapPath("~/GoogleDriveFiles"), Path.GetFileName(file.FileName)); file.SaveAs(path); HashGenerator(path); compareHash(HashGenerator(path)); var FileMetaData = new Google.Apis.Drive.v3.Data.File(); FileMetaData.Name = Path.GetFileName(file.FileName); FileMetaData.MimeType = MimeMapping.GetMimeMapping(path); FilesResource.CreateMediaUpload request; using (var stream = new System.IO.FileStream(path, System.IO.FileMode.Open)) { request = service.Files.Create(FileMetaData, stream, FileMetaData.MimeType); request.Fields = "id"; request.Upload(); } } } 

Где я должен сгенерировать хеш-значение файла MD5? В C # или JS?

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector