Ejemplo n.º 1
0
        private async Task <FileStorageInfo> SaveFileContent(Stream stream,
                                                             string uniqueFileName,
                                                             string format,
                                                             bool createThumbinal,
                                                             string fileFriendlyName)
        {
            if (defaultProvider == null)
            {
                throw new ArgumentException(nameof(defaultProvider) + " is null");
            }

            string fileFullName = await defaultProvider.UploadFileAsync(stream);

            string thumbinalFileName = string.Empty;

            if (createThumbinal)
            {
                using (var fileStream = defaultProvider.OpenFileStream(fileFullName))
                {
                    thumbinalFileName = await SimpleFileThumbinalGenerator.CreateThumbnail(defaultProvider,
                                                                                           format,
                                                                                           thumbinalConfig.Width,
                                                                                           thumbinalConfig.Height,
                                                                                           fileStream);
                }
            }
            string fileCrc      = string.Empty;
            long   streamLength = 0;

            using (var fileStream = defaultProvider.OpenFileStream(fileFullName))
            {
                fileCrc      = CalculateCRC(fileStream);
                streamLength = stream.CanSeek ? stream.Length
                : fileStream.Length;
            }

            return(StoreFileInfo(streamLength,
                                 uniqueFileName,
                                 fileCrc,
                                 fileFullName,
                                 thumbinalFileName,
                                 fileFriendlyName));
        }
Ejemplo n.º 2
0
        public Stream OpenFileContentStream(string fileFullName)
        {
            IFileStorageProvider provider = GetFileStorageProvider(fileFullName);

            if (provider == null)
            {
                throw new ArgumentException(nameof(provider) + " of the file storage service is null");
            }

            return(provider
                   .OpenFileStream(fileFullName));
        }