使用 Boto3 通过 Python 将图像上传到 Amazon S3 的最有效方法

2024-03-08

我正在实现 Boto3 将文件上传到 S3,一切正常。我正在做的过程如下:

我从 FileReader Javascript 对象获取 base64 图像。然后我通过ajax将base64发送到服务器,解码base64图像并生成一个随机名称来重命名key争论

data = json.loads(message['text'])
dec = base64.b64decode(data['image'])
s3 = boto3.resource('s3')
s3.Bucket('bucket_name').put_object(Key='random_generated_name.png', Body=dec,ContentType='image/png',ACL='public-read')

这工作正常,但尊重性能,有更好的方法来改进它吗?


我用过这个,我相信它更有效并且更Python。

    import boto3
    s3 = boto3.client('s3')
    bucket = 'your-bucket-name'
    file_name = 'location-of-your-file'
    key_name = 'name-of-file-in-s3'
    s3.upload_file(file_name, bucket, key_name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Boto3 通过 Python 将图像上传到 Amazon S3 的最有效方法 的相关文章

随机推荐

  • Mongoose默认排序顺序

    有没有办法在 Mongoose 中指定模式 模型级别的排序顺序 我有模型Posts 我总是获取按以下顺序排序的帖子 createdAt 场地 因此 在每个查询中我必须写 sort createdAt 我可以将此订单设为该型号的默认订单吗 在
  • 通过 VBA 迭代切片器并每次选择一个项目

    我的电子表格中有几个切片器 我希望能够通过 VBA 循环其中一个 并一一选择每个选项 下面的宏对我疲惫的眼睛来说似乎很好 但当我运行它时它显然不起作用 当我在下面的 BREAKPOINT 标记处添加断点时 第一个项目被选中 但随后宏转到第二
  • iOS 11:导航控制器内带有滚动视图的弹出视图控制器和不透明的导航栏会导致过渡期间出现奇怪的内容动画

    带有不透明导航栏的导航控制器内带有scrollView的弹出视图控制器会在转换过程中导致奇怪的内容动画 在转换过程中 内容将低于其原始位置 交互式弹出将使这一点变得非常明显 启用安全区域并不能解决此问题 我相信这是 iOS 11 中的一个错
  • Python:While、if、else 计数

    我对 while if 语句有一些疑问 我有一个值列表 通常这些值是字符串 但有时它可以返回 None 这是我的两个尝试 x One Two Three None None New count 0 for y in x while isin
  • R函数返回包的许可证?

    我想返回 R 包的描述文件中声明的包许可证 理想情况下我宁愿拥有 CRAN 自动添加到它识别的所有通用许可证中的 URL 我意识到我可以获得 R 本身分发的许可证 license 令人惊讶的是 这不适用于包裹 例如许可证 包名 此数据也不是
  • jEdit 可以用作 IDE 吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 两个浏览器选项卡之间共享变量范围? [复制]

    这个问题在这里已经有答案了 我有一个带有 HTML 表单的 Web 应用程序 其中包含一个选择 选项条目 它在包含 200 个项目的演示中运行良好 即使找到您想要的项目很笨拙 但实际上有超过 30000 个项目 这是零件清单 我的第一个想法
  • MySQL:检查某个值是否包含在范围区间内

    我想知道是否可以检查字符串值是否包含在列中 前提是该列包含开始值和结束值 例如 如果表的 NR 列包含以下行 400 50045 76 23 2512 14 19 21 我想找到其中包含值 421 的行 所以答案应该是第一行 这在mysql
  • 位置固定和-webkit-overflow-scrolling:触摸;

    我正在使用 css 技巧让网站感觉像 Cordova 中的应用程序 webkit overflow scrolling touch 然而 这打破了 消失 反弹 我的位置 固定元素 有什么想法吗 仅供参考 Safari 在 ios 8 上运行
  • PHP 全局命名空间别名

    这是场景 我正在将命名空间实现到我的项目中 我有自己的自定义桥接库 它调用 Zend 等其他库来完成繁重的工作 我在自定义桥库中使用完全限定的命名空间没有问题 但希望在控制器 模型和视图中保持代码尽可能简洁 这是我想使用的一些别名的示例 u
  • 使用flask-wtf queryselectfield进行更具体的SQL查询

    我想使用 Flask 和 WTF 创建一个登录表单 应用程序应从数据库表中读取所有用户的昵称并将其显示在 QuerySelectField 中 它确实有效 但我认为我可以以 更好的方式 做到这一点 我有一个这样的数据库表 id nickna
  • 带括号的成员函数地址错误

    我发现了一些有趣的事情 错误消息说明了一切 获取非静态成员函数的地址时不允许使用括号的原因是什么 我在 gcc 4 3 4 上编译它 include
  • Onclick 事件跟踪 Google Analytics Wordpress Visual Composer 插件

    我想添加以下代码以进行 GA 事件跟踪 onclick ga send event eventCategory Contact eventAction ContactRequest 关于此号召性用语 div class vc btn3 co
  • 从 WCF 服务返回 401

    如何从 WCF 服务返回 HTTP 401 如果您正在编程 REST 服务 可以通过以下方式完成 private IWebOperationContext context new WebOperationContextWrapper Web
  • 为什么 Java 中的 contains() 方法不能按预期工作?

    我正在编写一个创建 ArrayList 的方法S Comp包含数组中包含的所有元素allNodes 但不包含在 ArrayList 中solution 其元素全部包含在allNodes 当我打印时solution and allNodes
  • rbind 错误:“名称与以前的名称不匹配”

    作为更大问题的一部分 添加 makeUniqueIDs论证rbind SpatialPolygonsDataFrame对于多边形 ID 相同的情况 我遇到了来自 rbind 的奇怪消息 gt do call rbind xd small E
  • 正则表达式匹配包含n个或更多指定字符的文本

    我需要找到包含超过 10 个 的行 导入 CSV 时出错 因此需要手动更正 我使用的是 Notepad 所以我不需要编写 reqex 来匹配行 只需编写逗号即可 11 100 does not work 也匹配逗号 您需要排除那些具有否定字
  • Python unicode编码问题

    使用Python 2 7 5 所有数据库和表都是 我的代码看起来像这样 import MySQLdb as mdb import urllib2 import sys import logging logging basicConfig l
  • 基于 Trie 的地址簿和按姓名和联系电话进行高效搜索

    基于 trie 数据结构开发地址簿是一种已知的方法 它是一种高效的字符串数据结构 假设如果我们想为基于姓名 数字等的地址簿创建一个有效的搜索机制 那么有效的数据结构是什么 可以基于任何类型的搜索词 无论数据类型如何 实现内存高效和更快的搜索
  • 使用 Boto3 通过 Python 将图像上传到 Amazon S3 的最有效方法

    我正在实现 Boto3 将文件上传到 S3 一切正常 我正在做的过程如下 我从 FileReader Javascript 对象获取 base64 图像 然后我通过ajax将base64发送到服务器 解码base64图像并生成一个随机名称来