我正在尝试一个按钮,以允许用户将文件上传到特定文件夹中。我尝试遵循其他建议,并将此钩子添加到
onPickerInit:
var uploadView = new google.picker.DocsUploadView()
uploadView.setParent('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'); // test folder
pickerBuilder.addView(uploadView);
我已经设置了MULTISELECT_ENABLED功能(如果没有设置,则不考虑目标文件夹),实际上,我可以上载它们所属的文件。是的!
但是:现在,选择器小部件具有两个上传标签。第一个选项卡将常规文件上传到驱动器主文件夹,第二个选项卡执行正确的操作。我的猜测是,appmaker在幕后构造了第一个上传选项卡,并且没有禁用此功能的功能。
这显然很古怪,几乎不可用。我的问题是:
1)pickerbuilder中是否有API调用(可能未记录)以删除原始的上传视图?
2)即使MULTISELECT功能关闭,也可以尊重目标文件夹吗?
在此先感谢您提供任何务实的解决方案!
答案 0 :(得分:1)
直接回答您的问题:
1。)是
2.)是
现在,让我们深入研究一下幕后发生的事情。你是对的:
我的猜测是,appmaker在幕后构造了第一个上传选项卡,并且没有禁用它的功能。
但是,我们可以操纵对象。因此,我们无需配置新的选择器视图,而只需配置默认视图即可将文件上传到所需的文件夹。我们可以通过以下操作来实现:
1。)在将驱动器选择器插入到UI中之后,请确保驱动器选择器属性为空:
2。)接下来,转到事件处理程序,然后单击 onPickerInit 事件处理程序。输入以下代码:
var folderId = "10fYS3l32R6gk79POOSS8X_Vbsz7vqzRWX"; //the desired folder id
pickerBuilder.SW.Vq["0"].mc.parent = folderId;
总而言之,我得出的结论是,属性 SW 包含驱动器视图数组,这些视图保存在属性 Vq 下。 Vq [“ 0”] 是视图数组中的第一个视图,并且 mc 属性包含功能;因此 parent = folderId 。
我希望这有意义并且对您有帮助!