首页 > 解决方案 > 如何将 Windows 屏幕截图直接保存到 S3 存储桶

问题描述

我正在尝试每 10 秒截取一次我的 Windows 应用程序的屏幕截图,并希望它直接保存到 S3 存储桶。

这是我的代码

        //execute every 10 seconds//
        using (Bitmap bmp = new Bitmap((int)screenWidth, (int)screenHeight))
        {
            using (Graphics g = Graphics.FromImage(bmp))
            {
                String filename = "ScreenCapture-" + DateTime.Now.ToString("ddMMyyyy-hhmmss") +.png";
                Opacity = .0;
                g.CopyFromScreen((int)screenLeft, (int)screenTop, 0, 0, bmp.Size);
                MemoryStream m = new MemoryStream();
                bmp.Save(m, ImageFormat.Jpeg);
                new MemoryStream(m.GetBuffer());
                Opacity = 1;

                //converting MemoryStream M to String // 
                byte[] byteImage = m.ToArray();
                var SigBase64 = Convert.ToBase64String(byteImage); // Get Base64
            }
        }
        IAmazonS3 client = new AmazonS3Client(awsAccessKey, awsSecretKey, RegionEndpoint.USWest2);
        TransferUtility utility = new TransferUtility(client);
        request.Key = fileNameInS3; //file name up in S3
        request.FilePath = SigBase64; //local file name
        utility.Upload(request); //commensing the transfer

运行代码后,我没有收到任何错误消息。但它也没有将屏幕截图保存到 S3 存储桶。

标签: c#amazon-web-servicesamazon-s3

解决方案


推荐阅读