예제 #1
0
        public async Task <List <Movie> > GetMovies()
        {
            DynamoDBContext Context = new DynamoDBContext(_dynamoDBClient);

            var          conditions = new List <ScanCondition>();
            List <Movie> movies     = await Context.ScanAsync <Movie>(conditions).GetRemainingAsync();

            foreach (Movie movie in movies)
            {
                Task task1 = _s3Client.DownloadToFilePathAsync(
                    movie.MovieImage.BucketName,
                    movie.MovieImage.Key, domain,
                    new Dictionary <string, object>(),
                    default);
            }
            return(movies);
        }
예제 #2
0
        /// <summary>
        /// 从S3下载文件
        /// </summary>
        /// <param name="keyName">文件名</param>
        /// <param name="fileName">保存文件名</param>
        /// <returns></returns>
        public async Task DownloadObjectAsync(string keyName, string fileName)
        {
            string path = Path.Combine(Directory.GetCurrentDirectory(), fileName);

            IDictionary <string, object> additionalProperties
                = new Dictionary <string, object>();

            try
            {
                await client.DownloadToFilePathAsync(bucketName, keyName, path, additionalProperties);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine(
                    "Error encountered ***. Message:'{0}' when writing an object"
                    , e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(
                    "Unknown encountered on server. Message:'{0}' when writing an object"
                    , e.Message);
            }
        }
예제 #3
0
        public async Task <string> GetImageFromS3(string key, string fileName)
        {
            await _s3Client.DownloadToFilePathAsync(bucketName : _bucketName, key, $"/tmp/{fileName}", null);

            return($"/tmp/{fileName}");
        }