forked from MDCPS/DamageAssessment_Backend
		
	changed download url format and added new endpoint for doculink isactive update
This commit is contained in:
		| @ -139,24 +139,75 @@ namespace DamageAssesment.Api.Attachments.Controllers | ||||
|         /// download an existing attachment. | ||||
|         /// </summary> | ||||
|         [HttpGet("attachments/download/{id}")] | ||||
|         public async Task<IActionResult> downloadfile1(int id) | ||||
|         public async Task<IActionResult> downloadfile(int id) | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 var result = await this.AttachmentProvider.GetDownloadAttachmentAsync(id); | ||||
|                 if(!result.IsSuccess)  | ||||
|                 if (!result.IsSuccess) | ||||
|                     return NotFound(); | ||||
|                 byte[] fileContent = await UploadService.DownloadFile(result.Attachment.URI); | ||||
|                 if (fileContent == null || fileContent.Length == 0) | ||||
|                 string path = await UploadService.GetFile(result.Attachment.URI); | ||||
|                 if (path == null) | ||||
|                     return NotFound(); | ||||
|                 var contentType = "application/octet-stream"; | ||||
|                 return File(fileContent, contentType, result.Attachment.FileName); | ||||
|                 var contentType = GetContentType(result.Attachment.FileName); | ||||
|                 if (contentType == "application/octet-stream") | ||||
|                     return PhysicalFile(path, contentType, result.Attachment.FileName); | ||||
|                 return PhysicalFile(path, contentType, enableRangeProcessing: true);// result.Attachment.FileName); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 // Handle the exception here or log it | ||||
|                 return StatusCode(500, "An error occurred: " + ex.Message); | ||||
|             } | ||||
|             //try | ||||
|             //{ | ||||
|             //    var result = await this.AttachmentProvider.GetDownloadAttachmentAsync(id); | ||||
|             //    if(!result.IsSuccess)  | ||||
|             //        return NotFound(); | ||||
|             //    byte[] fileContent = await UploadService.DownloadFile(result.Attachment.URI); | ||||
|             //    if (fileContent == null || fileContent.Length == 0) | ||||
|             //        return NotFound(); | ||||
|             //    var contentType = "application/octet-stream"; | ||||
|             //    return File(fileContent, contentType, result.Attachment.FileName); | ||||
|             //} | ||||
|             //catch (Exception ex) | ||||
|             //{ | ||||
|             //    // Handle the exception here or log it | ||||
|             //    return StatusCode(500, "An error occurred: " + ex.Message); | ||||
|             //} | ||||
|         } | ||||
|         private string GetContentType(string fileName) | ||||
|         { | ||||
|             // You can add more content types based on the file extensions | ||||
|             switch (Path.GetExtension(fileName).ToLower()) | ||||
|             { | ||||
|                 //case ".txt": | ||||
|                 //    return "text/plain"; | ||||
|                 case ".jpg": | ||||
|                 case ".jpeg": | ||||
|                     return "image/jpeg"; | ||||
|                 case ".png": | ||||
|                     return "image/png"; | ||||
|                 case ".gif": | ||||
|                     return "image/gif"; | ||||
|                 case ".bmp": | ||||
|                     return "image/bmp"; | ||||
|                 case ".webp": | ||||
|                     return "image/webp"; | ||||
|                 case ".csv": | ||||
|                     return "text/csv"; | ||||
|                 case ".pdf": | ||||
|                     return "application/pdf"; | ||||
|                 case ".docx": | ||||
|                 case ".doc": | ||||
|                     return "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; | ||||
|                 case ".xlsx": | ||||
|                 case ".xls": | ||||
|                     return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; | ||||
|                 // Add more cases as needed | ||||
|                 default: | ||||
|                     return "application/octet-stream"; | ||||
|             } | ||||
|         } | ||||
|         /// <summary> | ||||
|         /// Delete an existing attachment. | ||||
|  | ||||
		Reference in New Issue
	
	Block a user