Esempio n. 1
0
        public async Task <FileContent> Save(string path, string fileName, Stream fileStream)
        {
            if (string.IsNullOrWhiteSpace(path))
            {
                throw new ArgumentNullException(nameof(path));
            }
            if (string.IsNullOrWhiteSpace(fileName))
            {
                throw new ArgumentNullException(nameof(fileName));
            }
            if (fileStream == null)
            {
                throw new ArgumentNullException(nameof(fileStream));
            }

            fileName = GetUniqueFileName(fileName);
            string relativePath = Combine(path, fileName);

            //ensure to begin
            fileStream.Seek(0, SeekOrigin.Begin);
            await _fileStorageProvider.Save(relativePath, fileStream);

            var r = new FileContent()
            {
                FileName         = fileName,
                ReletivePath     = relativePath,
                Folder           = path,
                LastModifiedTime = DateTime.Now,
            };
            await _fileRepository.InsertAsync(r);

            return(r);
        }