【问题标题】:How to upload files to Google Drive from Web App如何从 Web App 将文件上传到 Google Drive
【发布时间】:2014-08-13 12:51:35
【问题描述】:

我正在我的网络应用程序中创建新功能。

我创建了 google drive 常规帐户。我希望用户能够看到某些文件 在该帐户上,并能够向该帐户添加新文件。

我进行了身份验证,我正在存储凭据并显示文件(也删除它们)工作正常。但是我偶然发现了上传文件的问题。 我看到的每个教程,在实际上传时都在做类似的事情:

$data = file_get_contents('document.txt');

$createdFile = $service->files->insert($file, array(
      'data' => $data,
      'mimeType' => 'text/plain',
    ));

但这适用于服务器上的文件。好像用户应该首先将文件上传到我的服务器,而不是我的服务器应该将它上传到 Google Drive。 有没有办法通过我的 Web 应用直接从用户 PC 上传文件?

【问题讨论】:

    标签: php google-drive-api


    【解决方案1】:

    您需要使用文件输入,然后使用传统方法提交。完成后,您只需在临时文件上使用file_get_contents()

    例如,这可能是您的表单:

    <form action="drive_upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="file" />
        <input type="submit" name="submit" value="Submit" />
    </form>
    

    然后,您的 drive_upload.php 会这样做:

    $data = file_get_contents($_FILES['file']['tmp_name']);
    
    $createdFile = $service->files->insert($file, array(
        'data' => $data,
        'mimeType' => 'text/plain',
        'uploadType' => 'media'
    ));
    

    请注意,我还冒昧地将uploadType 添加到上传数组中。您还需要一种方法来处理这种上传的 MIME 类型,但这是一个相对简单的过程,以上内容应该可以帮助您入门。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      • 2020-03-10
      • 2020-06-16
      • 2019-11-23
      • 1970-01-01
      相关资源
      最近更新 更多