使用 Uploadify 直接 POST 到 Amazon S3

2023-11-27

谁能告诉我如何使用上传直接上传到Amazon S3?

我的代码如下:

$('#fileInput').uploadify({
  'fileDataName' : 'file',
  'uploader'  : 'uploadify.swf',
  'script'    : 'http://BUCKET-NAME-GOES-HERE.s3.amazonaws.com/',
  'cancelImg' : 'cancel.png',
  'method'    : 'post',
  'auto'      : true,
  'onError': function (a, b, c, d) {
    alert('error '+d.type+": "+d.info + ' name: ' + c.name + ' size: ' + c.size);
  },
  'scriptData' : {
    'AWSAccessKeyId': "KEY-GOES-HERE",
    'key': "${filename}",
    'acl': "public-read",
    'policy': "POLICY-STRING-GOES-HERE",
    'signature': "SIGNATURE-GOES-HERE",
    'success_action_status': '200'
  }
}); 

我的(未编码的)策略字符串如下所示:

{
  "expiration": "2100-12-01T12:00:00.000Z",
  "conditions": [
    {"acl": "public-read"},
    {"bucket": "BUCKET-NAME-GOES-HERE"},
    {"success_action_status" : 200},
    ["starts-with", "$filename", ""],
    ["starts-with", "$folder", ""],
    ["starts-with", "$key", ""],
    ["content-length-range", 1, 209715200]
  ]
}

使用上面的代码实际上允许我选择一个文件,然后它似乎上传(某处),但我的 S3 存储桶中没有显示任何内容,也没有错误返回到 JS 控制台。

使用常规 HTML 表单将文件发布到 S3 存储桶效果很好。


由此thread上传论坛:

<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript" src="jquery.uploadify.v2.1.0.js"></script>
<link rel="stylesheet" href="uploadify.css" type="text/css" media="screen" />
</head>

<body>
<form>
<input id="fileInput" name="fileInput" type="file" />
</form>
<script type="text/javascript">// <![CDATA[
   $(document).ready(function() {
      $('#fileInput').uploadify({
         'fileDataName' : 'file',
          'uploader'  : 'uploadify.swf',
          'script'    : 'http://UPLOADBUCKET/',
          'cancelImg' : 'cancel.png',
          'auto'      : true,
          'onError' : function(errorObj, q, f, err) { console.log(err); },

          'scriptData' : {
              AWSAccessKeyId: "ACCESS_KEY",
             key: "foo/${filename}",
             acl: "public-read",
             policy: "POLICY STRING"
             signature: "SIGNATURE,
                success_action_status: '200'
             }

          });
    });
// ]]></script>
</body>

</html>

策略字符串的基础如下:

{ "expiration": "2100-12-01T12:00:00.000Z",
"conditions": [
  {"acl": "public-read" },
  {"bucket": "UPLOADBUCKET" },
  {"success_action_status" : '200'},
    ["starts-with", "$filename", "" ],
    ["starts-with", "$folder", "" ],
    ["starts-with", "$key", "foo"],
    ["content-length-range", 1, 209715200]
  ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Uploadify 直接 POST 到 Amazon S3 的相关文章

随机推荐

  • 使用 AdMob 展示我自己的广告?

    我已将 AdMob 集成到我的应用程序中 是否可以使用 Admob 展示我自己的广告 如果没有 那么最好的选择是什么 是的 Ad Mob 允许您选择使用 自家广告活动 选项 话虽这么说 如果通过 使用 Admob 展示我自己的广告 你的意思
  • 在 C++ 中实现模拟非确定性有限自动机的代码

    我正在做自动机理论的作业 我必须确定确定性有限自动机的转换函数是否接受一个单词 我有这个输入文件 6 8 0 2 2 5 0 0 a 0 1 a 1 1 b 1 2 c 1 3 c 3 4 d 4 4 d 4 5 d 3 aaabcccc
  • SQL注入无法正常工作

    我正在尝试在我的本地主机上为安全测试项目创建的虚拟网站上执行 SQL 注入 我尝试输入字符串 OR 进入用户名和密码字段 这样它应该绕过它并显示登录正确 但相反它显示登录失败 任何有助于理解为什么 SQL 注入不起作用的帮助
  • 如何通过react js中的map方法仅访问一项

    我的问题可能不清楚 但这是我的问题 这是我使用 map 方法从数组中获取的卡片 并在每张卡片上显示每个项目 我已经触发了 编辑 按钮 以便它显示隐藏的文本 只想在一张卡片中看到它 但是 当我仅单击一张卡片时 所有卡片都会显示该隐藏消息 你能
  • CakePHP 2.x:Model::afterFind() 上的 $primary 标志实际上有用吗?

    CakePHP 的Model afterFind 回调看起来像 afterFind array results boolean primary false 根据文档 The primary参数指示当前模型是否是查询发起的模型 或者该模型是否
  • javascript数组映射方法中的Break语句[重复]

    这个问题在这里已经有答案了 可能的重复 如何像调用break一样短路Array forEach 有没有办法让我在满足条件后可以突破数组映射方法 我尝试了以下抛出 Illegal Break Statement Error 这是我随机想到的一
  • getSubscription 返回空订阅

    我是 Service Worker 和 GAE 的新手 我能够注册 Service Worker 但无法订阅 PushManager 出现订阅 null 错误 找到下面的代码以供参考 serviceWorkerRegistration pu
  • PHP 在 html 页面中显示 html 电子邮件

    我正在构建一个 PHP 电子邮件邮箱脚本 我如何使 html 电子邮件像 gmail hotmail 中那样清晰地显示 如果我只是回显它 它会影响整个页面布局 我可以使用 iframe 但这肯定不是最好的解决方案 如果您正在寻找 最佳解决方
  • 字符串太长时会被截断

    我试图从我们的服务器获取 JSON 响应 当字符串长度达到大约 5525 个字符时 响应字符串似乎总是被截断 HttpClient httpClient new DefaultHttpClient HttpPost post new Htt
  • 获取PDFBox中字符的字体高度

    PDFBox的字体类PDFont中有一个方法 名为getFontHeight 听起来很简单 但是我不太理解文档以及参数代表什么 getFontHeight这将获取字符的字体宽度 参数 c 要获取宽度的字符代码 offset 数组的偏移量 长
  • 在 Python 3 中迭代单个字节

    当迭代一个bytesPython 3 中的对象 获取个体bytes as ints gt gt gt b for b in b 123 49 50 51 如何获得 1 长度bytes对象代替 以下是可能的 但对读者来说不是很明显 并且很可能
  • 位图图像内存不足

    我知道有很多关于 android 位图图像内存不足的讨论 但我想知道是否有人可以向我解释一下 目前在我的应用程序中 我有一个列出图像缩略图 低质量 的活动 当我单击图像时 它会打开一个新活动来全屏查看图像 在我的第二次活动课中 我有 Bit
  • 关于在 Android studio 中重命名 Android 项目的建议(基于 Gradle)

    在我目前的项目中 我希望在 Android studio 0 8 9 中重命名 Android 项目并希望以后使用它 我知道论坛中讨论的两种解决方案 请有人确认最好的方法并且没有麻烦 此外 在 Android studio 0 8 9 上尝
  • 引用程序集中的条件编译

    我正在编写一个程序集 其中包含一些条件编译的成员 例如 Conditional DEBUG public static void Log string message 并像这样使用它 public void DoStuff Log This
  • 更新到 MacOS Big Sur 11.3 后 Android 设备管理器无法启动

    所以我的 Mac 刚刚强制更新到 Big Sur 11 3 我一直在尝试访问 Android 设备管理器来运行模拟设备 但每次都失败了 当我尝试从命令行运行它时 我收到以下错误消息 emulator Pixel 3a API 30 emul
  • 智能合约(Hyperledger vs Eth)[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 关于智能合约的几个简单问题 超级账本智能合约 链码 与以太坊相比如何 超级账本 golang 可表达性 表现 安全 以太坊 坚固性 表达能力 表现 安全 如何保障智能合约安全 保
  • 在 iphone sdk 中以编程方式创建 sqlite 数据库

    我正在尝试在运行时以编程方式创建一个 sqlite 数据库 谁能告诉我如何在 iphone sdk 中创建它 只要调用 sqlite3 open 函数 如果路径上不存在数据库 它就会创建一个数据库 generate databasePath
  • Firebase Auth 的本地(持久身份验证状态)是否安全且不受浏览器 XSS 和 CSRF 的影响?

    我正在将 Firebase Auth 用于涉及金融交易的 Web 应用程序 因此 安全性对于我的应用程序来说是最重要的 根据this doc Firebase 可以通过将其存储在某处来在多个会话中持久保留其令牌 它没有提到它对于 XSS 的
  • 在 MySQL 存储函数中声明整型变量时出错

    尝试在 MySQL 中声明新的存储函数时出现错误 服务器版本 5 5 13 基本上 我有一个大表 它根据字符串的开始方式对字符串进行分类 我的函数接受一个字符串 来自用户输入 然后通过在数据库中搜索分类来告诉您该字符串的分类 它有点像 LI
  • 使用 Uploadify 直接 POST 到 Amazon S3

    谁能告诉我如何使用上传直接上传到Amazon S3 我的代码如下 fileInput uploadify fileDataName file uploader uploadify swf script http BUCKET NAME GO