首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从google picker中选择文件后立即下载文件

从google picker中选择文件后立即下载文件
EN

Stack Overflow用户
提问于 2014-05-23 08:28:57
回答 2查看 3.7K关注 0票数 2

我只是试图实现Google Drive picker API,以便下载用户通过Google drive Picker提交的文件(在后台)。

我做了谷歌选择器,它工作得很好,但是,我就是无法下载文件。(首先从单个文件开始)。

这是我的代码,在我的梦中,我可以在得到选取器的文件后立即下载文件。

代码语言:javascript
运行
AI代码解释
复制
function createPicker() {
            if (pickerApiLoaded && oauthToken) {
            var picker = new google.picker.PickerBuilder().
                    addView(google.picker.ViewId.DOCS).
                    addView(google.picker.ViewId.PHOTOS).
                    addView(google.picker.ViewId.FOLDERS).
                    enableFeature(google.picker.Feature.MULTISELECT_ENABLED).
                    setOAuthToken(oauthToken).
                    setDeveloperKey(developerKey).
                    setCallback(pickerCallback).
                    build();
            picker.setVisible(true);
        }
    }

    // A simple callback implementation.
    function pickerCallback(data) {
        var url = 'nothing';
        if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
            var fileId = data.docs[0].id;
            var fileUrl = data.docs[0].url;
            alert('The user selected: ' + fileId);
            console.log(data.docs);
        }
        var message = 'You picked: ' + url;
        document.getElementById('result').innerHTML = message;
    }

请注意,我想下载照片,并且我没有访问"downloadUrl“字段的权限。Google Drive Picker和Drive API在我的应用程序上是“开”的。

一切正常,除了我不能下载检索文件。

EN

回答 2

Stack Overflow用户

发布于 2016-03-25 06:58:29

您需要使用文件id获取文件的下载URL。完成后,您可以使用AJAX调用该URL来获取文件数据。您可以选择将文件字节作为blob以表单数据的形式发送到服务器端。

代码语言:javascript
运行
AI代码解释
复制
var googleSelectedFiles = new Array();

if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {

    var docs = data[google.picker.Response.DOCUMENTS];
    docs.forEach(function (file) {

        var downloadUrl;

        gapi.client.request({
            'path': '/drive/v2/files/' + file.id,
            'method': 'GET',
            callback: function (responsejs, responsetxt) {

                downloadUrl = responsejs.downloadUrl;

                var gDoxBlob = null;
                var xhr = new XMLHttpRequest();
                xhr.open("GET", downloadUrl); //file.url

                var accessToken = gapi.auth.getToken().access_token;
                xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);

                xhr.responseType = "blob";
                xhr.onload = function () {

                    gDoxBlob = xhr.response;
                    googleSelectedFiles.push({ bytes: gDoxBlob, name: file.name });
                }
                xhr.send();

            }
        });

    });

}
票数 2
EN

Stack Overflow用户

发布于 2014-09-13 08:18:09

我希望你能够看到文件选择器,你现在想下载选定的文件,下面的代码可以做到这一点:

首先修改您的createPicker回调:

代码语言:javascript
运行
AI代码解释
复制
function pickerCallback(data) {
        var url = 'nothing';
        if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
            var fileId = data.docs[0].id;
            getDownloadurl(fileId);    //this is the custom function

        }       
    }

然后实现getDownloadUrl

代码语言:javascript
运行
AI代码解释
复制
function getDownloadUrl(fileId) {
            /*Before executing following client request you must include
                <script type="text/javascript" src="https://apis.google.com/js/client.js"></script>
            google client library*/

            var request =
                gapi.client.request({
                    'path': '/drive/v2/files/' + fileId,
                    'params': { 'maxResults': '1000' },
                    callback: function (responsejs, responsetxt) {
                            var fileDownloadUrl = responsejs.downloadUrl; //using this downloadUrl you will be able to download Drive File Successfully
                    }
                });
        }
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23824421

复制
相关文章
如何放置友情链接
对于友情链接,首先我们不会在意你网站的 PR 值和 Alexa 排名,如果你在意这两个值,那么请你不要和我们交换链接,因为我们博客的 PR 值为0,Alexa 排名为1百多万名,流量也很低,和我们交换链接不会给你带去任何好处。虽然我们各项的值都很低,但是我们还是有我们自己的交换友情链接的原则,嘿嘿,第一 只要你的网站是博客并且也是基于 WordPress 的,第二是你的网站内容是我们喜欢的(具体什么是我们喜欢的呢?恩,就是我们喜欢,看你的运气了。)。如果你达到以上要求,呵呵,那么你来交换链接,基本 都可以的,但是希望你先加上啊!
Denis
2023/04/13
8220
标签链接
百度一下 淘宝网 京东网 <html> <head> <title></title> <meta charset="UTF-8"/> </head> <body> <ul> <li><a href="http://www.baidu.com" target="_right">百度一下</a></li> <li><a href="http://www.taobao.com" target="_right">淘宝网</a></li> <li><a href="http://w
葆宁
2019/04/19
5480
html链接标签
<a>标签,也叫anchor(锚点)元素,既可以用来链接到外部地址实现页面跳转功能,也可以链接到当前页面的某部分实现内部导航功能。
Devops海洋的渔夫
2019/05/31
6.8K0
【HTML】HTML 标签 ③ ( 链接标签 | 注释标签 )
注释是给 程序员 看的 , 用于标注代码作用 ; 通常情况下 , 都在代码的上方一行位置添加注释 ;
韩曙亮
2023/03/30
10.7K0
【HTML】HTML 标签 ③ ( 链接标签 | 注释标签 )
超链接标签
哈喽,亲爱的小伙伴们,好久没见啦,最近忙于项目的事情,所以并没有按时间发布新的文章,但是对于之前写的文章,我都有新的补充,尽量做到最全面和最易懂,那么这篇文章我就带大家了解一下什么是超链接标签。
守护最温柔的金木
2020/08/31
2.5K0
超链接标签
超链接 a 标签
主要用于打开其他网页,其中非常重要的属性是 href 属性,对应的值是其他网页的链接
鹤川
2023/03/21
1.6K0
HTML(基础、链接标签、图片标签)
1. 块状元素:独占一行,可以改变它的宽度和高度。如:标签 <div><p><h1>等等标签。
全栈开发日记
2022/05/12
7.9K0
HTML(基础、链接标签、图片标签)
a标签目标链接问题
2、确定文件寻找路径,因为css.html的父目录是css,而body.html在body目录下,所以需要先退到上一目录head然后再到body目录下寻找body.html
IT人一直在路上
2019/09/18
6150
a标签目标链接问题
如何在Cloudera Manager中配置Yarn放置规则
Hadoop集群管理员希望能对集群Yarn作业的资源进行控制。根据不同的业务组或不同的用户,对Yarn的资源池进行划分,达到资源管控、任务管控的效果。通过CM可以进行Yarn动态资源的配置,这里Fayson主要介绍如何在Cloudera Manager中配置Yarn动态资源池的放置规则。
Fayson
2018/11/08
3.2K0
6. html链接标签
<a>标签,也叫anchor(锚点)元素,既可以用来链接到外部地址实现页面跳转功能,也可以链接到当前页面的某部分实现内部导航功能。
Devops海洋的渔夫
2022/01/14
4K0
6. html链接标签
HTML超链接标签学习
超链接标签学习: a标签: href:要跳转的网页资源路径 本地资源:相对路径 网络资源:网络资源(网页)的URL target:指明要跳转的网页资源的显示位置 _self 在当前页中刷新显示 _blank 在新的标签页中显示 _top 在顶层页面中显示 _parent 在父级页面中显示 注意: 超链接标签中一定要声明访问方式,访问方式可以是文字也可以是图片. 锚点学习: 作用:在一张网页中进行资源跳转 使用: 先使用超链接标签在指定的网页位置增加锚点.格式为: <a name=“锚点名” ></a> 使用a标签可以跳转指定的锚点,达到网页内部资源跳转的目的,格式: <a href="#锚点名" >访问方式</a>
葆宁
2019/04/18
4.1K0
HTML超链接标签学习
链接标签使用及属性
如 <a href=”http://fireinsect.top”>小虫的个人博客</a>
摸鱼的G
2023/02/22
1.2K0
链接标签使用及属性
如何在折线图上添加动画效果?
要在 Chart.js 的折线图上添加动画效果,可以使用 Chart.js 提供的配置选项来实现。以下是一个示例,展示了如何在折线图上添加简单的动画效果:
王小婷
2023/09/09
4970
Emlog自动为文章标签添加该标签的链接
我们在编写文章时,经常需要添加一些标签的链接,这样不仅可以优化我们的内链,对用户来说也可以参照相关的文章,如果对文章的关键字进行手动添加链接,那样对我们来说太麻烦了,而且在标签关键词很多的情况下我们是记不住的,那怎么如何让Emlog站点的文章自动添加标签链接变为内链呢?其实我们只需要在主题目录下的module.php文件中添加一段代码就可以实现了。 打开我们主题的module.php文件添加如下代码: //自动为文章标签添加该标签的链接 function tag_link($content){
Youngxj
2018/06/07
1.2K0
JavaWeb——HTML基本标签详解及案例实战(文件标签、文本标签、图片标签、列表标签、链接标签、块标签、语义化标签、表格标签)
上一节介绍了HTML的基本概念,和基本语法,本节介绍下HTML的基本标签和表单标签。这部分学习可以参照W3Cschool,一个很好的网站。
Winter_world
2020/09/25
3.7K0
JavaWeb——HTML基本标签详解及案例实战(文件标签、文本标签、图片标签、列表标签、链接标签、块标签、语义化标签、表格标签)
《ROC曲线专栏》如何在坐标上放置2条生存曲线?
前期说到,如何绘制和解读单条ROC曲线。在实际的研究中,我们常常需要在同一坐标系中放置2条或多条ROC曲线,以便于直观比较。
Mark Chen
2020/11/25
7610
《ROC曲线专栏》如何在坐标上放置2条生存曲线?
html a标签打开新窗口_a标签链接打开新页面
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
4.4K0
通过html<map>标签给图片加链接
前面我们有谈到了通过图片定位给一张图片添加多个链接,现在用另外一种方法来实现,用html<map>标签给图片加链接 <img src="/images/hlj.jpg" border="0" usemap="#Map" alt=""> <map name="Map" id="Map"><area shape="rect" coords="798,298,956,340" href="/dot.html" /> </map> shape 属性为 "rect",表示方形,该值规定矩形左上角坐标(798,298)
ytkah
2018/03/06
3.6K0
让 select 的 option 标签支持事件监听(如复制操作)
想自定义option的样式,很多人会建议用 <ul> <li> 标签来辅助同步操作与值
书童小二
2018/09/03
4.8K0
让 select 的 option 标签支持事件监听(如复制操作)
点击加载更多

相似问题

如何在google地图上放置标签信息

22

在饼图上放置标签

11

如何在曲线图上放置标签工具提示

10

如何在Julia中的绘图上放置数据点标签

10

R:我如何在R基图上放置多行滴答标签?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档