如何在Alfresco Share 4.2中使用Alfresco.component.getDNDUploadInstance()

时间:2012-11-21 18:51:27

标签: drag-and-drop yui alfresco

我在示例中看到this,用于在Alfresco社区版本的客户端javascript中使用漂亮的html5文件上传。 我尝试按照说明使用它:

this.widgets.myWidget = Alfresco.component.getDNDUploadInstance();

不幸的是,我收到了一个错误:

Uncaught TypeError: Object #<Object> has no method 'getDNDUploadInstance'

我在这里缺少什么?我需要一些依赖吗?我将alfresco.js,alfresco-dnd.js包含在我的Share小程序中。

1 个答案:

答案 0 :(得分:2)

我认为JSDoc类中包含的代码片段可能已过时。

由于类Alfresco.DNDUpload似乎实现了这些功能,因此您应该能够使用类似

的功能
dndUpload = new Alfresco.DNDUpload(elid);
var multiUploadConfig =
{
   destination: destination,
   siteId: siteId,
   containerId: doclibContainerId,
   path: docLibUploadPath,
   filter: [],
   mode: dndUpload.MODE_MULTI_UPLOAD,
}
dndUpload.show(multiUploadConfig); 

您的elid应该包含要将上传组件渲染到的Dom元素的ID - 您可能会发现需要在其中预定义一些标记。表达式args.htmlid通常用于提供Web脚本中的值。

您还应该查看show()方法支持的参数(docs)。我看不到列出的files参数,所以我将其删除了,但您应该检查您提供的其他值,以确保您指定了适当的值。

如果您需要更多参考资料,请查看dnd-upload.get网页脚本(source dir)。