public static BlobModel GetBlobBytes(int id, string fileName)
        {
            string res = GetMapping();

            try
            {
                using (SqlConnection con = new SqlConnection(_connectionString))
                {
                    var        listBlobModel = new BlobModel();
                    SqlCommand cmd           = new SqlCommand("GetBlobDataToS3BucketById", con);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@BlbId", SqlDbType.Int).Value = id;
                    cmd.Parameters.Add("@BlbFileName", SqlDbType.VarChar, 500).Value = fileName;
                    cmd.Parameters.Add("@template", SqlDbType.VarChar, 500).Value    = res;
                    con.Open();
                    SqlDataReader rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        listBlobModel = new BlobModel
                        {
                            Id           = Convert.ToInt32(rdr[0]),
                            BlobByte     = (byte[])rdr[1],
                            BlobContent  = rdr[2].ToString(),
                            BlobFileName = rdr[3].ToString(),
                            BlobPath     = rdr[4].ToString()
                        };
                    }
                    return(listBlobModel);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("*********************************************PushBlobToS3Bucket*********************************************");
            Console.WriteLine("Latest 1");
            Console.WriteLine("*********************************************PushBlobToS3Bucket*********************************************");
            GetAppSettingsFile();
            string    bucketName = _iconfiguration["BucketName"];
            IAmazonS3 client;

            client = new AmazonS3Client(_iconfiguration["awsAccessKeyId"], _iconfiguration["awsSecretAccessKey"], RegionEndpoint.USEast1);
            BlobData blob = new BlobData(_iconfiguration);

            //int Id = int.Parse(args[0].Trim());
            //string fileName = args[1];
            //string conType = args[2];
            //string path = args[3];
            //Console.WriteLine(args[0]);
            //Console.WriteLine(args[0].GetType());
            //Console.WriteLine(args[1]);
            //Console.WriteLine(args[2]);
            //Console.WriteLine(args[3]);
            Console.WriteLine("Latest 2");
            Console.WriteLine(args[0]);
            Console.WriteLine(Convert.ToInt32(args[0]).GetType());
            Console.WriteLine("**************");
            Console.WriteLine(args[0].GetType());
            Console.WriteLine(args[1]);
            Console.WriteLine(args[2]);
            Console.WriteLine(args[3]);
            BlobModel data = BlobData.GetBlobBytes(Convert.ToInt32(args[0]), args[1]);

            Console.WriteLine("**************");
            Console.WriteLine(data.Id);
            Console.WriteLine(data.BlobFileName);
            Console.WriteLine(data.BlobContent);
            Console.WriteLine(data.BlobPath);
            Console.WriteLine("**************");
            //BlobModel data = BlobData.GetBlobBytes(4, "Employee Handbook");
            MemoryStream memoryStream = new MemoryStream(data.BlobByte);

            PutObjectRequest request = new PutObjectRequest()
            {
                InputStream = memoryStream,
                ContentType = args[3],
                BucketName  = bucketName,
                CannedACL   = S3CannedACL.PublicRead,
                Key         = args[4] // <-- in S3 key represents a path


                              //InputStream = memoryStream,
                              //ContentType = data.BlobContent,
                              //BucketName = bucketName,
                              //CannedACL = S3CannedACL.PublicRead,
                              //Key = data.BlobPath
            };

            client.PutObjectAsync(request);
        }