/// <summary> /// Get Download/Details/DirectoryName/1 /// </summary> /// <param name="path">The path.</param> /// <param name="filename">The filename.</param> /// <returns></returns> public ActionResult Details(string directory, int azureId, string recipient) { if (!FileRequestValidator.IsValidDirectoryName(directory)) { return(new HttpNotFoundResult()); } using (db) { var azureFileInfo = db.AzureFileInfos.FirstOrDefault(x => x.Id == azureId && x.AzureDirectory == directory); if (azureFileInfo == null) { return(new HttpNotFoundResult()); } var azureUri = FileManager.GetSasUri(new Uri(azureFileInfo.AzureUri)); return(View(new AzureFileDownloadViewModel() { Directory = azureFileInfo.AzureDirectory, AzureId = azureFileInfo.Id, FileName = azureFileInfo.FileName, FileSize = azureFileInfo.FileSize, Recipient = azureFileInfo.Recipient })); } }
/// <summary> /// Downloads the file using a generated url with a SAS token. /// </summary> /// <param name="path">The path.</param> /// <param name="filename">The filename.</param> /// <returns></returns> public ActionResult GetAzureFile(string directory, int azureId) { if (!FileRequestValidator.IsValidDirectoryName(directory)) { return(new HttpNotFoundResult()); } using (db) { var azureFileInfo = db.AzureFileInfos.FirstOrDefault(x => x.Id == azureId); if (azureFileInfo == null || !azureFileInfo.AzureUri.Contains(directory)) { return(new HttpNotFoundResult()); } var azureUri = FileManager.GetSasUri(new Uri(azureFileInfo.AzureUri)); //var uri = FileManager.GetCloudFileSasUri(azurePath, fileName); return(Redirect(azureUri.ToString())); } }
private bool TestFileName(string fileName) { return(FileRequestValidator.IsValidFileName(fileName)); }
private bool TestDirectoryName(string directoryName) { return(FileRequestValidator.IsValidDirectoryName(directoryName)); }