问题标签 [meteor-slingshot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
meteor - 流星弹弓文件上传到谷歌云存储内部服务器错误
我正在尝试使用edgee:slingshot上传文件,但我有几个错误。我已经按照 github 页面中的描述做了所有事情。这是我在服务器上的设置:
这是cors.json:
如果我使用上述配置运行,我会收到此错误,但没有任何详细信息:{error: 500, reason: "Internal server error"....
我尝试评论此行: //GoogleSecretKey:"qZEsLZ/NiEkXo641XHIUW8NVjSvRb8SgdxIyYcV2"
这次我收到此错误:
谁能指导我?
如果我使用.pem文件而不是GoogleSecretKey ,我应该在哪里获得GoogleAccessId?
用于文件上传和公共阅读的 cors.json 文件应该是什么?
javascript - 弹弓流星包中上传前的更改
我正在使用 slingshot 在我的 Amazon s3 中上传一些图像,它就像魅力一样。不过,我也想在我的 Amazon s3 中使用 slingshot 上传一些文件(文本、文档、odf 等)。但是,我想在上传到 s3 之前先将所有这些文件转换为 PDF。我熟悉像“ https://github.com/gfloyd/node-unoconv ”这样的nodeJs包,它将文件转换为PDF。但是我怎么能把它整合到弹弓中。
最终,客户端上传的所有文本、文档等文件,我希望它们以 PDF 格式存储在 S3 中。那么有没有办法做到这一点。
流星的业余爱好者,如果解释详细,将不胜感激。
谢谢。
javascript - 无法让 Meteor 弹弓工作
我正在尝试让弹弓工作,但遇到了困难,我在这里附上了我拥有的代码。
我在控制台得到的错误是:
“传递调用‘slingshot/uploadRequest’的结果时出现异常:TypeError:无法读取未定义的属性‘响应’”
客户
库
服务器
meteor - 为什么 Slingshot 上传器回调在上传多个文件到 S3 时只执行一次?
我每次上传实例化一个SlingShot uploader
以处理多个文件上传。
更加具体:
- 我在
_.each
循环中每次上传一个模板,使用Blaze.renderWithData(Template.uploadItem, file, targetNode);
. 请参阅下面的循环:
'change .fileBrowse':function(event, template){
_.each(event.currentTarget.files, function(file){
//...
_.each
我在先前填充循环的本地集合中跟踪每个上传状态(进度除外)的状态。我通过将它附加到我的模板实例对象(即)来实例化
SlingShot uploader
我的函数Template.uploadItem.created
this.uploader = new Slingshot.Upload( ...
我使用
Template.instance().uploader
这个progress
帮助代码中的说明来达到它progress: function () { return Math.round(Template.instance().uploader.progress() * 100); }
问题:上传者回调仅在最后一个文件发布时调用一次。其他一切正常,但我无法更新我的 UI,因为我的本地集合中的状态没有更新,因为它应该在执行回调时更新。
amazon-web-services - 我可以将浏览器生成的图像 blob 转换为图像文件以进行上传吗?
我正在使用 fabric.js 在 Threes.js 中动态创建纹理,我需要将纹理保存到 AWS。我正在使用流星弹弓,它通常需要通过文件选择器输入传递的图像。这是上传者:
从驱动器上传工作正常......但我在浏览器中生成我的文件,而不是从驱动器中获取它们。相反,它们是使用以下方法从画布元素生成的:
这也很好用。如果我 console.log the imageNew,我会得到带有 base 64 编码的可爱图像:
如果我console.log
通过文件选择器从驱动器添加一个文件对象(不是从画布生成的),我可以看到文件对象应该是什么样子:
但我无法从 blob 创建文件进行上传,因为文件对象中没有地方可以添加实际数据。
总结一下,我可以:
- 生成图像 blob 并将其显示在 dom 元素中
- 使用流星弹弓从驱动器上传文件
- 检查现有文件对象
但我不知道如何将 blob 转换为命名文件,所以我可以将它传递给上传者。
我不想下载图像,(有答案),我想上传它。使用文件系统 API有一种“仅限 chrome”的方法,但我需要一些跨浏览器(并最终跨平台)的东西。如果有人能帮我解决这个问题,我会有无法抑制的快乐。
javascript - “同步”处理多个上传的文件
我正在为我在 Meteor 应用程序(Meteor 1.2.1)中使用的 WYSIWYG 编辑器编写上传插件。我使用Slingshot将文件上传到 Amazon S3。上传文件后,我的插件会在编辑器中插入指向上传文件的链接。到目前为止没有什么花哨的。
对于单文件上传,这不是问题。在多文件上传的情况下,事情变得更加困难。我想要的是,在上传所有文件之后,我将得到一组文件名和 URL,并插入一个包含所有链接的漂亮 HTML 列表(我不关心精确的文件/链接顺序)。
Slingshot 使用异步函数上传文件:
在回调中返回上传文件的 URL。为了从 5 个上传的文件中收集例如 5 个 url,我认为我需要 Slingshot 的异步“发送”功能来表现得像一个同步功能。
我希望我正确理解 Meteor.wrapAsync 不起作用,因为一切都在客户端完成。我查看了 javascript Promise,但它相当压倒性。而且在 Meteor 的上下文中更难理解它。Promise 的东西看起来很有希望,但我不明白要使用哪个包。
有人可以解释如何处理(客户端)连续运行多个(相同的)异步函数调用,收集结果并在所有上传完成后使用它们吗?
欣赏它,
硅橡胶
meteor-slingshot - 如何在流星弹弓中添加自定义指令属性
我使用流星弹弓将文件上传到 Google-Cloud-Storage。为了在谷歌应用引擎上提供我的应用程序特定信息,我想添加一个这样的自定义指令属性。
有没有办法用弹弓做到这一点?
javascript - 使用边缘弹弓流星上传视频
我尝试使用 edge:slingshot 包在我的 s3 存储桶上上传视频,图像文件可以正常工作,但视频文件出现此错误:“错误:无法将文件上传到云存储 [-0]跟踪:Meteor.makeErrorType /errorClass@ http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:525:15 getError@ http://localhost:3000/packages/edgee_slingshot.js?4c5b8e7dc4cae9d464984ead4903ef4beaacshoting.js? 4c5b8e7dc4cae9d464984ead4903ef4beaacshotup.// /<@ http://localhost:3000/packages/edgee_slingshot.js?4c5b8e7dc4cae9d464984ead4903ef4beaac99f5:407:18 "
我的模板事件:
我的模板:
我定义弹弓的函数(仅限服务器端的 slingshot.js):
和使用 Slingshot 和进行上传的功能(适用于图像):
有人有解决方案吗?事先谢谢你。
android - Slingshot 延迟补偿会创建 Blob,使应用程序大小稳定增长。revokeObjectURL 似乎对它们不起作用
编辑:
所以我发现了真正的问题在哪里。似乎真正的问题是通过Slingshot 的延迟补偿来创建 blob 。因为当我排除延迟补偿时,文件大小不会增长
..创建一个 Blob URL。使用后,我在该 url 上尝试了各种“revoceObjectURL”:
我将每个方法调用 2 次以查看它是否成功,因为我怀疑网络错误 我既没有收到网络错误,也没有文件大小缩小到它的初始值。
meteor-slingshot - 在服务器上声明 slingshot 会导致应用程序崩溃
在客户端我有:
但是当我将它添加到服务器时,即使是“空”进行调试,应用程序也会崩溃:
我得到的错误:
AppData\Local.meteor\packages\meteor-tool\1.1.10\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fibers\future.js:245 W20160212-11:50:43.857(2)?(STDERR)抛出(前);W20160212-11:50:43.857(2)?(STDERR) ^ W20160212-11:50:43.858(2)?(STDERR)错误:匹配错误:匹配失败。字段区域 W20160212-11:50:43.858(2) 中的验证在哪里?(STDERR) 检查时 (packages/check/match.js:33:1) W20160212-11:50:43.858(2)?(STDERR) 在新的 Slingshot.Directive (packages/edgee_slingshot/packages/edgee_slingshot.js:304:1) W20160212-11:50:43.858(2)?(STDERR) 在 Object.Slingshot.createDirective (packages/edgee_slingshot/packages/edgee_slingshot.js:274:1) W20160212-11:50:43.858(2)?(STDERR) 在服务器/slingshot.js:5:1 W20160212-11:50:43。859(2)?(STDERR) 在服务器/slingshot.js:23:1 W20160212-11:50:43.859(2)?(STDERR) 在 somepath.meteor\local\build\programs\server\boot.js:242:10 W20160212-11:50:43.859(2)?(STDERR) at Array.forEach (native) W20160212-11:50:43.859(2)?(STDERR)在功能。。每个。.forEach (somepath.meteor\packages\meteor-tool\1.1.10\mt-os.windows.x86_32\dev_bundle\server-lib\node _modules\underscore\underscore.js:79:11) W20160212-11:50: 43.860(2)?(STDERR) 在 path.meteor\local\build\programs\server\boot.js:137:5
谢谢你的帮助。