是否可以使用 Google 选择器上传到子文件夹的根目录?
Is it possible to upload to root of sub-folders with Google picker?
我们有一个可用的 google 文件选择器,但我们的用户因必须 select 文件夹而无法保存在当前文件夹的根目录中而感到困惑。是否有一些选项可用于更改选择器的行为以便可能?或者完全不同的方法?
这是设置 google 选择器行为的 angular 代码的一小段:
const pickerBuilder = new google.picker.PickerBuilder();
view = new google.picker.DocsView()
.setParent('root')
.setIncludeFolders(true);
view.setMimeTypes('application/vnd.google-apps.folder')
.setSelectFolderEnabled(true);
picker = pickerBuilder
.enableFeature(google.picker.Feature.NAV_HIDDEN)
.setOAuthToken(this.oauthToken.access_token)
.addView(view)
.addView(new google.picker.DocsUploadView());
如何创建一个用于选择文件夹的选择器,当文件被选中时,使用 DocsUploadView
创建一个新的选择器实例并通过 DocsUploadView.setParent(string)
将父级设置为用户选择。
只是关于如何实现的草图:
首先我们创建两个函数来渲染不同的选择器
function createPickerFolders() {
const view = new google.picker.DocsView()
.setIncludeFolders(true)
.setSelectFolderEnabled(true)
.setMimeTypes("application/vnd.google-apps.folder");
const picker = new google.picker.PickerBuilder()
.addView(view)
.setAppId(appId)
.setOAuthToken(oauthToken)
.setCallback(pickerViewCallback)
.build();
picker.setVisible(true);
}
function createPickerUpload(folderId) {
const view = new google.picker.DocsUploadView().setParent(folderId);
const picker = new google.picker.PickerBuilder()
.addView(view)
.setAppId(appId)
.setOAuthToken(oauthToken)
.setCallback(pickerUploadCallback)
.build();
picker.setVisible(true);
}
对于 DocsView
的回调,我们创建一个呈现 DocsUploadView
并将其父级设置为所选文件夹的回调
function pickerViewCallback(data) {
if (data.action == google.picker.Action.PICKED) {
const folderId = data.docs[0].id;
createPickerUpload(folderId);
}
}
这样我们就实现了用户选择的文件夹就是文件上传到的文件夹。
文档:
基本上我们最终给了我们的用户 2 个选择:
- 保存到根目录
- 保存到文件夹
这不是最佳解决方案,但它可以保存在根目录中,并且通过保存文本提及文件夹,它会提示用户常规保存功能的工作原理。
我们有一个可用的 google 文件选择器,但我们的用户因必须 select 文件夹而无法保存在当前文件夹的根目录中而感到困惑。是否有一些选项可用于更改选择器的行为以便可能?或者完全不同的方法?
这是设置 google 选择器行为的 angular 代码的一小段:
const pickerBuilder = new google.picker.PickerBuilder();
view = new google.picker.DocsView()
.setParent('root')
.setIncludeFolders(true);
view.setMimeTypes('application/vnd.google-apps.folder')
.setSelectFolderEnabled(true);
picker = pickerBuilder
.enableFeature(google.picker.Feature.NAV_HIDDEN)
.setOAuthToken(this.oauthToken.access_token)
.addView(view)
.addView(new google.picker.DocsUploadView());
如何创建一个用于选择文件夹的选择器,当文件被选中时,使用 DocsUploadView
创建一个新的选择器实例并通过 DocsUploadView.setParent(string)
将父级设置为用户选择。
只是关于如何实现的草图:
首先我们创建两个函数来渲染不同的选择器
function createPickerFolders() {
const view = new google.picker.DocsView()
.setIncludeFolders(true)
.setSelectFolderEnabled(true)
.setMimeTypes("application/vnd.google-apps.folder");
const picker = new google.picker.PickerBuilder()
.addView(view)
.setAppId(appId)
.setOAuthToken(oauthToken)
.setCallback(pickerViewCallback)
.build();
picker.setVisible(true);
}
function createPickerUpload(folderId) {
const view = new google.picker.DocsUploadView().setParent(folderId);
const picker = new google.picker.PickerBuilder()
.addView(view)
.setAppId(appId)
.setOAuthToken(oauthToken)
.setCallback(pickerUploadCallback)
.build();
picker.setVisible(true);
}
对于 DocsView
的回调,我们创建一个呈现 DocsUploadView
并将其父级设置为所选文件夹的回调
function pickerViewCallback(data) {
if (data.action == google.picker.Action.PICKED) {
const folderId = data.docs[0].id;
createPickerUpload(folderId);
}
}
这样我们就实现了用户选择的文件夹就是文件上传到的文件夹。
文档:
基本上我们最终给了我们的用户 2 个选择:
- 保存到根目录
- 保存到文件夹
这不是最佳解决方案,但它可以保存在根目录中,并且通过保存文本提及文件夹,它会提示用户常规保存功能的工作原理。