c# - 如何将 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 存储桶。
解决方案
推荐阅读
- javascript - 从电子邮件客户端在默认浏览器中打开链接
- node.js - MongoDB中的分组和计数操作
- sql - 如何将表名作为参数传递给 sql 表值函数?
- python - django-cms 文档:django.urls.exceptions.NoReverseMatch: 'polls' 不是注册的命名空间
- jpa - 日期范围的 JPA 规范问题
- gmail - 有没有办法在没有收到每日电子邮件时发送 Gmail 消息或创建通知?
- asp.net - .Net Core 3.1 Razor 页面:自动重定向到文化
- sql - 如何批量更新 MongoDB 字符串数组以用连字符替换空格?
- c - 在 char 赋值表达式中使用反斜杠字符 (\)
- python - 为什么当我改变伽玛角度时我的旋转矩阵不起作用?