Exemple #1
0
        public async Task <FileViewModel> UploadFile(IFormFile file)
        {
            var response = new FileViewModel();
            var stream   = new MemoryStream();

            file.CopyTo(stream);
            stream.Position = 0;
            string objectName  = Guid.NewGuid().ToString().Substring(0, 7) + Path.GetExtension(file.FileName);
            string contentType = file.ContentType;

            _logger.LogInformation($"UploadFileName : {objectName}");
            try
            {
                bool isFound = await _fileManager.BucketExistsAsync(_bucketName);

                if (!isFound)
                {
                    await _fileManager.MakeBucketAsync(_bucketName);
                }
                await _fileManager.PutObjectAsync(_bucketName, objectName, stream, stream.Length, contentType);

                response.FileName = objectName;
            }
            catch (MinioException m)
            {
                response.Message = m.message;
            }
            _logger.LogInformation($"UploadFileName Success : {objectName}");

            return(response);
        }