Amazon S3 和 jqueryfileupload 插件的图像上传性能问题

2023-11-30


我在亚马逊上还有另一个问题,它与文件上传有关。我正在使用jquery文件上传和amazon API上传文件到amazon S3。我已经成功上传了,但是涉及到一个技巧。
我必须将图像存储在我的服务器上,然后使用以下命令将其从那里移动到 S3putObjectFileS3的方法。现在该插件具有强大的功能来裁剪/调整图像大小,我已经使用它们很久了。现在当我将该插件与AWS集成时,我面临着性能问题上传所需的时间比正常情况要长,这引发了我们使用 AWS S3 而非传统方式的问题。
我必须改变我的上传处理程序.php文件以使其正常工作。这些是所做的更改。我将 AWS 上传代码的一部分添加到文件中735 至 750

     $bucket = "elasticbeanstalk-2-66938761981";
     $s3 = new S3(awsAccessKey, awsSecretKey);
     $response = $s3->putObjectFile($file_path,$bucket,$file->name,S3::ACL_PUBLIC_READ);
     $thumbResponse = $s3->putObjectFile('files/thumbnail/'.$file->name,$bucket,'images/'.$file->name,S3::ACL_PUBLIC_READ);
     //echo $response;
     //echo $thumbResponse;
     if ($response==1) {
        //echo 'HERER enter!!';
     } else {
          $file->error = "<strong>Something went wrong while uploading your file... sorry.</strong>";
     }
     return $file; 

Here是 git 上 s3 类的链接。 正常上传到我当前的服务器(不是亚马逊),相同的图像上传15 secs,但在亚马逊S3上需要大约23 secs我无法找到更好的解决方案。我必须在上传到 S3 之前将图像存储在我的服务器上,因为我不确定是否可以处理它们在飞行中并直接上传到S3。
任何人都可以提出解决该问题的正确方法吗?是否可以将图像大小调整为内存中的不同大小并直接上传到 S3,从而避免将其保存到我们的服务器的开销?如果可以,任何人都可以指导我正确的方向吗?
感谢您的关注。


我相信大约 8 秒是创建不同尺寸图像版本的开销。 您可以采取不同的方法来消除上传时调整大小的开销。基本思想是允许上传脚本完成执行并返回响应,并将调整大小过程作为单独的脚本进行。

我想建议以下方法: 方法1.上传过程中不要调整大小!仅在第一次请求时动态创建调整大小的版本,并缓存生成的图像以直接为以后的请求提供服务。我在一些文章中看到一些提到 Amazon CloudFront 作为解决方案其他线程在 Stackoverflow 中。

方法 2. 在上传原始图像后,作为单独的异步请求调用用于创建调整大小版本的代码。缩放版本的推出将会有所延迟。因此,编写必要的代码来在网站中显示一些占位符图像,直到缩放版本可用。您必须找出某种方法来确定缩放版本是否可用(例如检查文件是否存在,或在数据库中设置一些标志)。一些方法这里建议进行异步 cURL 请求如果你想尝试一下。

我认为这两种方法都具有同等程度的复杂性。

建议使用其他一些方法:其他问题的答案.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amazon S3 和 jqueryfileupload 插件的图像上传性能问题 的相关文章

  • VB 脚本 Documents.Open 抛出 424 错误

    所以我有一个vbs脚本 Function test2open sSourceFile sPDFFile Dim wApp As Word Application Dim wDoc As Word Document logStream wri
  • 滑块下的 jQuery UI 滑块标签

    我仅限于使用 jQuery 1 4 2 和 jQuery ui 1 8 5 这不是我的选择 请不要要求我升级到最新版本 我创建了一个滑块 显示滑动条上方的当前值 但我现在需要的是一种在滑动条下方填充图例的方法 其距离与滑块相同 即 如果滑块
  • Magento - 从观察者方法重定向客户

    在本次活动中checkout cart add product complete 我希望客户被重定向到外部网页http www example com 为此 我使用这段代码 它根本不起作用 public function moduleMet
  • Jquery在quote中设置引号

    我有这样的代码 input id id slice 0 1 br brand qnt to cart show 这产生了我 input id 02620 br FEBI BILSTEIN qnt to cart 但我需要看到类似的东西 in
  • Pinterest 身份验证 url 返回 404 错误?

    我正在测试 pinterest apihttp pinterest com developers api http pinterest com developers api 在上面的身份验证部分的网址上 它说我必须将用户重定向到 pinte
  • 使用 Ruby 重命名 S3 中的对象

    我想使用 Ruby sdk 重命名 s3 中的项目 我该怎么做呢 我努力了 require aws sdk s3 AWS config region gt region access key id gt key secret access
  • ResourceBundle 返回 NULL,没有引发任何错误

    对于国际化数据 与 ResourceBundle来自 PHP 的 intl 扩展的类 我运行了扩展 PHP 5 3 4 Windows 并使用以下命令创建了一个 dat 文件ICU 数据库定制器 http apps icu project
  • 如果我们的应用程序位于反向代理后面,如何获取访问者的真实 IP?

    我正在使用 Siteground 的基于 nginx 的动态缓存反向代理 它使用它来服务请求和静态文件 我想获取访问者的 IP 地址 但我无法获取任何内容 甚至没有显示任何内容print r SERVER 这是我尝试过的 hostname
  • Joomla getUser() 不显示更新的用户数据

    下面的代码允许我在用户的 Joomla 个人资料的个人资料页面中显示用户名 鉴于我已经覆盖了模板以获得我想要的外观和感觉 user JFactory getUser if user gt guest echo You are logged
  • 使用 swiftmailer 向多个收件人发送电子邮件

    我正在尝试在我的项目中使用 swiftmailer 以便我可以向多个用户发送 html 新闻通讯 我已经彻底搜索过 但我得到的一切从未对我有用 我想在表单输入字段中粘贴多个收件人 以逗号分隔 然后将 html 电子邮件发送给他们 我将收件人
  • jQuery $(ui.draggable).remove() 不适用于 IE

    我可以让 IE 删除对象 只要它不是当前的可拖动对象 这适用于 Chrome 和 Firefox 我做错了什么吗 ul li class dropme One li li class dropme Two li ul div div
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • 在 PHP 中将对象作为参数传递[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • jQuery 的 css() 在应用于滚动事件时滞后

    我正在尝试实现一个简单的 固定标题 表 我知道这在理论上只能用 CSS 来完成 但是当涉及到 OSX Lion 及其消失的滚动条时 它效果不佳 所以我用 jQuery 来做 方法很简单 只有1 5行代码 inbox scroll funct
  • 为什么将数据存储为元素的属性存在风险?

    我一直在读同样的东西 直接在 DOM 元素上存储属性值是有风险的 因为可能会发生内存泄漏 但有人可以更详细地解释这些风险吗 按属性 我假设您指的是 DOM 元素上的属性 DOM 元素上的自定义属性安全吗
  • PHP PCRE 函数中的 $0 是什么

    我读过一个文档preg filter功能如下 这是来自 php net http php net manual en function preg filter php site subject array 1 a 2 b 3 A B 4 p
  • 如何在 Kohana 中包装 PHP 遗留代码?

    我有大量用 PHP 编写的遗留代码 这些代码不是在任何特定框架上编写的 而是主要是老式风格 即内联 PHP 然而 我的大部分新代码都是在 Kohana 3 1 X 框架上编写的 尽管 Kohana 确实允许遗留代码和 Kohana 文件在同
  • dompdf:找不到图像或类型未知

    这是我的代码 我几乎尝试了所有在 PDF 上显示图像的方法 但仍然不起作用 你能帮我解决这个问题吗 我还将 DOMPDF ENABLE REMOTE 设置为 true 结果仍然相同 require once dompdf autoload
  • 提交前验证表单(比检查空字段更复杂)

    我有一个包含时间输入的表单 具体来说 开放时间和结束时间 当按下提交按钮时 它会转到一个 php 页面 其中这些输入将添加到数据库中 在允许提交表单之前我想检查一些事情 例如 我想确保开始时间早于 小于 结束时间 这是表格 Opens
  • 使用 jquery 和 php 测试表单输入是否为 1 或 2 位整数

    我有一个表单 其中有五个字段全部设置为 maxlength 2 基本上 我希望唯一可以输入的值是一位或两位整数 因为在将值存储在数据库中之前对这些字段执行计算 是否有任何 jquery 不允许用户输入不是整数的值 另外 用 jquery 和

随机推荐

  • 通过 Shopware 6 API 添加图像

    我有一个 Shopware 6 3 商店 需要使用集成 API 将图像迁移到其中 我应该如何构建媒体上传的正文 我需要将文件放在某处还是只传递链接 我已成功通过此处的指南将新产品推入 Shopware https docs shopware
  • WPF TreeView 悬停时突出显示行

    目前 将鼠标悬停在 TreeView 中的标题上将突出显示该标题 我想将鼠标悬停在 TreeView 中行的任何部分上以突出显示整行 就像 Windows 资源管理器所做的那样 有人可以提供一个如何做到这一点的例子吗 您需要更改Contro
  • python如何更改嵌套列表中的元素[重复]

    这个问题在这里已经有答案了 我已经使用Python很多次了 今天我对一个简单的嵌套列表感到惊讶 如何更改列表中元素的值 gt gt gt l 0 0 10 gt gt gt l 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  • Matplotlib 在阶梯图中仅绘制水平线

    我正在使用 matplotlib 从数据框中绘制一些步骤函数 df s1 plot c b drawstyle steps post df s2 plot c b drawstyle steps post 结果看起来像 我希望只绘制水平线
  • 如何从 PowerShell 调用复杂的 COM 方法?

    是否可以使用命名参数从 PowerShell 调用 COM 方法 我正在使用的 COM 对象方法有数十个参数 object GridData DataFile xCol yCol zCol ExclusionFilter DupMethod
  • 使用 Break 和 continue 语句的 While 循环

    我是初学者 while 语句中的break 和 continue 语句用于什么 while break continue 这两个关键字可以循环使用来改变它的行为方式 Break 语句终止循环并继续执行下一个可执行语句 continue 语句
  • 如何删除仅包含 NA 的列?

    我有一个 data frame 其中包含一些具有所有 NA 值的列 如何从 data frame 中删除它们 我可以使用该功能吗 na omit 指定一些额外的参数 一种方法是 df colSums is na df nrow df 如果一
  • C# - For 循环和 lambda 表达式

    我的问题是为什么我在 lambda 表达式中使用迭代器变量会得到错误的结果 好吧 我已经关注了 SWeko 的回答here 但这对我不起作用 这是我的伪代码 List
  • Odoo 在树视图第二行记录上抛出 MissingError

    我如何解决此错误 Odoo 在单击 TreeView 第二行按钮时抛出 MissingError 第一个记录行有效 但我需要这样 对于树上的每个记录 下面的代码将能够传递上下文并打开适当的视图 请协助 这是按钮上调用的代码 api mult
  • 绘制彼此靠近的对象[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我想在屏幕上绘制下图 sphere cylinder angle 45 cyli
  • datetimepicker getDate 返回 UTC 格式的日期/时间

    我碰巧读到了这篇文章日期时间选择器插件并发现它很有用 我使用此工具面临的问题是我无法获取 UTC 或其他格式的数据 时间格式 我的目的是至少获取 UTC 格式的日期 时间 starttime datetimepicker ampm true
  • FluentNHibernate:使用 NotFound.Ignore() 映射引用时的性能损失

    我使用 FluentNhibernate 并且当关联引用映射为 NHibernate 时 我看到 NHibernate 执行许多查询NotFound Ignore 由于我的遗留数据库的引用完整性有点糟糕 我想知道是否有解决方法或者是否有我可
    1. /

    我有这种 xml 在哪里some li tags没有 ol ul 因为它是父级 需要添加为父级 Example ul ol li
  • GCP云函数实例生命周期

    我在 AWS 环境中工作了 4 年 主要使用 Lambda 根据我的经验 我知道 Lambda 函数的 实例 将存活大约 2 小时 现在我要为一个使用 GCP 及其云功能的项目工作 是否有关于 CF 实例 的生存时间的信息 我通常需要知道这
  • 在线程内使用全局字典

    假设我有一个Dictionary
  • 将自定义对象绑定到 JMS MapMessage

    是否有一种标准方法可以将我自己的自定义对象添加到 Map 然后将其正确编组到 MapMessage 中 目前我收到无效的对象类型消息 我注意到WebSphere有一个解决方案 但我正在寻找一些不绑定到特定AS的东西 如果没有这样的方法 也许
  • 如何将库添加到 Eclipse 项目

    我正在尝试向 Eclipse Galileo 添加一个库 但没有成功 库 gdi32 lib gt 在 MinGW 中 libgdi32 a 无论我尝试什么 它都不起作用 谁能准确地告诉我要在哪里输入什么才能完成此任务 Details 我有
  • 输入表单属性可以指定多个表单ID吗?或不? [复制]

    这个问题在这里已经有答案了 w3学校指定 定义和用法 form属性指定一个or more形成元素所属的形式 在http www w3schools com tags att input form asp 和 提示 要引用多种形式 使用空格分
  • 如何用循环绑定多个数据帧?

    我有 105 个带有 xts zoo class 的数据框 我想将它们的第 6 列合并到一个数据框中 因此 我创建了一个包含所有数据框名称的数据框 以便将其与 for 函数一起使用 mydata lt AAL for i in 2 105
  • Amazon S3 和 jqueryfileupload 插件的图像上传性能问题

    我在亚马逊上还有另一个问题 它与文件上传有关 我正在使用jquery文件上传和amazon API上传文件到amazon S3 我已经成功上传了 但是涉及到一个技巧 我必须将图像存储在我的服务器上 然后使用以下命令将其从那里移动到 S3pu