1

我正在使用 Kendo 上传控件通过 CORS 上传到 Amazon S3。我遇到了一个问题,即我需要从服务器获取签名,然后将其添加到我创建的“上传”处理程序的事件对象的“数据”中。当然,问题是在处理程序中我触发了一个异步请求以获取签名,并且上传处理程序在没有我需要的签名数据的情况下继续它的快乐方式。发布的 API 没有“upload()”或我可以在异步请求返回时调用的命令。

我在某处看到了一个 ASP-Kendo-S3 示例,但从该代码中并不清楚,该签名是如何获得的,当然,我没有使用 ASP。

4

1 回答 1

0

Kendo Upload 有一个onUpload活动。在 Kendo 的 asp.net 示例中,确实没有任何特定于该框架的东西不会移植到其他任何东西。

他们最初使用配置文件(base64 编码的 JSON)填充页面。

为了获得该 base64 编码的 json 配置文件的签名,他们使用此方法(C#):

private static string Sign(string text, string key)
{
    var signer = new HMACSHA1(Encoding.UTF8.GetBytes(key));
    return Convert.ToBase64String(signer.ComputeHash(Encoding.UTF8.GetBytes(text)));
}

它看起来很容易解释,您可以将它移植到另一种语言。

于 2014-11-04T02:50:27.950 回答