如何使用 Worklight 传输媒体文件

Posted

技术标签:

【中文标题】如何使用 Worklight 传输媒体文件【英文标题】:How to transfer media files using Worklight 【发布时间】:2013-03-17 12:14:06 【问题描述】:

使用 Worklight 适配器传输媒体(照片或电影)的正确方法是什么?

我通过适配器发送照片并收到错误:表格太大,超出最大尺寸... 我读到我需要通过 Jetty 更改表单大小

但是我将部署应用程序的服务器不会是码头,所以我要做什么外壳? 谢谢!

【问题讨论】:

【参考方案1】:

请参阅主题Uploading large (and binary) files to Worklight adapter。

基本上,Worklight 不具备允许您传输任意大块数据的 HTTP POST 机制的等效项。对于大小未知的大文件(照片、视频、音频),您需要将文件上传到 Worklight 适配器框架之外的服务器。例如,您可以简单地将其发布到您已配置的 Web 服务器。在我的情况下(在上面引用的答案中)我需要创建一个完整的客户端 - 服务器机制来协商端口和密钥,开始监听该端口,然后接受请求并确保发布客户端将密钥作为授权传递安全数据。

希望 IBM 在未来的版本中为此提供正式服务。

【讨论】:

您说“希望 IBM 在未来的版本中为此提供正式服务。”有这方面的消息吗?更多细节?【参考方案2】:

适配器不适用于 html 表单,它们适用于数据。 您需要将图像转换为 base64 并作为适配器调用参数提交。

详细了解您想要实现的目标可能会有所帮助。

【讨论】:

我尝试传输照片。我将其转换为base64,但由于表单太大而出现错误。我可以更改码头,但它对我没有帮助,因为我不知道应用程序将部署在哪个服务器上(tomcat\libraty 左右)......我想知道传输大数据的正确方法是什么... 使用代码 sn-ps 编辑您的帖子 - 您是如何转换数据的?适配器代码中的函数和过程是什么样的?此外,文件大小与您将使用的应用程序服务器无关 - 这将是一个数据库问题。 我将base64作为输入并在适配器中调用WL.Server.invokeHttp(input);我在工作灯表单上读到:[链接] (ibm.com/developerworks/forums/…) 当我收到此异常(表单太大)时,我需要更改我的码头参数......但我不在码头上部署应用程序...... 我仍然收到错误。通过 Worklight 传输大数据的正确方法是什么?

以上是关于如何使用 Worklight 传输媒体文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将 dojo javascript 文件导入 worklight 应用程序?

如何在 Worklight 应用程序中创建 html 链接,以使用 mime 在设备中使用默认程序打开文件?

IBM Worklight 6.0 - 如何将日志写入文件并将它们发回?

IBM worklight 6.2 - 如何在应用程序中保存文件?

Worklight - 如何使用 IBM Worklight Tabbar API?

IBM Worklight 6.1 - 如何将应用程序连接到远程 Worklight 服务器?