Beispiel #1
0
        /// <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
                }));
            }
        }
Beispiel #2
0
        /// <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()));
            }
        }
Beispiel #3
0
 private bool TestFileName(string fileName)
 {
     return(FileRequestValidator.IsValidFileName(fileName));
 }
Beispiel #4
0
 private bool TestDirectoryName(string directoryName)
 {
     return(FileRequestValidator.IsValidDirectoryName(directoryName));
 }