保存到驱动器按钮不起作用

时间:2013-07-17 15:29:49

标签: google-drive-api

我在NodeJS中编写了一个简单的文件服务器来提供带有“保存到驱动器”按钮的HTML页面。 HTML页面在my_address:1337投放,要保存的文件在my_address:1338投放。点击“保存到云端硬盘”按钮后,它会长时间显示“正在开始下载”,然后显示Failed Download. XHR Error

我认为这是因为该文件是从不同的端口提供的,因此我决定使用appengine应用程序执行相同操作。在http://sayodrive.appspot.com/index.html投放的网页和http://sayodrive.appspot.com/drivefile.jsp投放的文件,我遇到了同样的问题。

然后我决定做一个本地Java Web应用程序:同样的问题。然后我尝试将内容处置更改为attachment(以强制下载),但也无效。

感到沮丧,我开始谷歌搜索并遇到this page声称保存到云端硬盘按钮实际上无法正常工作。 所以我回到official Google Drive SDK page并发现他们的示例按钮也不起作用。 这是一个糟糕的梦想吗?

消息来源:index.html

<html>
  <head>
    <title>Test: Save To Drive</title>
    <!--  -->
    <link rel="canonical" href="http://sayodrive.appspot.com">
    <script src="https://apis.google.com/js/plusone.js"></script>
  </head>
  <body>
    <p>This must be the worst HTML you have ever seen :)</p>
    <div class="g-savetodrive"
       data-src="//http://sayodrive.appspot.com/drivefile.jsp"
       data-filename="Test Drive"
       data-sitename="Sayo Saves">
    </div>
  </body>
</html>

SOURCE:drivefile.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>DriveFile</title>
  </head>
  <body>
    <%
      java.io.Writer w = response.getWriter();
      response.setContentType("text/plain");
      w.write("If you're reading this in Drive, congrats!");
      w.flush();
      w.close();
    %>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

原始示例无法正常工作,因为服务器未公开Cache-Control标头。现在已经修复了。

Access-Control-Expose-Headers: Cache-Control, Content-Encoding, Content-Range

documentation中的更多内容。