此处有离子/ cordova /角的总瘤.上周开始,所以我在这里挣扎.我正在尝试从应用程序(在iOS上)上传文件,该应用程序是使用Ionic和Cordova创建的.文件是图像,因此非常大.我想在后台工作线程中上传这些图像.因此需要网络工作者.
图像必须上传到Amazon S3.我的工作者javascript文件中有以下代码.
onmessage = function(e) {
importScripts("aws-sdk.min.js");
console.log("Doing work");
self.AWS.config.region = 'us-east-1'; //Error here. config is not defined :(
self.AWS.config.update({accessKeyId: 'XXX', secretAccessKey: 'ABCD'});
//More AWS stuff
postMessage("DONE");
}
我的主要javascript文件都很好,因为我尝试使用非AWS配置(普通的旧console.log(“这里的东西”))并且它运行良好.一旦我尝试使用AWS SDK做任何事情,它就会开始失败.此外,正确导入了aws-sdk.min.js(至少Chrome在控制台上没有显示错误).
解决方法:
啊哈,这似乎解决了我的问题http://www.jefferydurand.com/amazon/web/services/worker/2015/05/08/amazon-javascript-sdk-web-worker.html
有趣的是,它不适用于aws-sdk-2.2.3,但使用了示例中显示的那个.
来自网站:
// this was the trick I needed to get the aws sdk to load.
// web workers don't have a 'window' object but the library assumes
// there is a window object
window = {};
importScripts('https://sdk.amazonaws.com/js/aws-sdk-2.1.27.min.js');
// initialize our dynamodb table and get it ready to accept values
window.AWS.config.update({accessKeyId: 'XXXXXXXXXX', secretAccessKey: 'XXXXXXXJJJJXXXXX'});
window.AWS.config.region = 'us-east-1';
var table = new window.AWS.DynamoDB({params: {TableName: 'song_player_metrics'}});
原文地址:https://codeday.me/bug/20190706/1397499.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。