【问题标题】:Google Drive upload fails on files larger than ~10MB using .NET client library使用 .NET 客户端库在大于 ~10MB 的文件上上传 Google Drive 失败
【发布时间】:2013-02-11 14:21:00
【问题描述】:

我们编写了一个 .Net 控制台应用程序,可将文件上传到特定的 google Drive 帐户。该代码使用谷歌自己的.net 客户端库。代码的核心是这样的:-

FilesResource.InsertMediaUpload upload = service.Files.Insert(metadata, fStream, mimeType);
upload.Upload();
metadataReturned = upload.ResponseBody;

该应用程序适用于小于某个限制(似乎约为 10MB)的所有文件。对于较大的文件,上传失败并出现异常,消息为“请求已中止:请求已取消。”

我们将不胜感激有关如何上传更大文件的任何建议,或对异常的任何解释。

【问题讨论】:

  • 请安装 Fiddler 并捕获请求以查看完整的错误消息。上传请求是可恢复的,因此它应该以块的形式上传您的文件以防止超时。您也可以尝试在请求中设置 ChunkSize 属性,看看是否有帮助。
  • 谢谢,我们会调查 chunksize 属性
  • 我们决定重新使用 Google Data API (Google Docs v1) 而不是 Google-api-dotnet-client,因为异步上传可以按预期工作。
  • 请注意,文档列表 API 自 2012 年 9 月 14 日起已弃用

标签: google-drive-api google-api-dotnet-client


【解决方案1】:

它看起来像一个错误。 您能否在issue tracker 中打开一个问题(这是报告错误、请求等的最佳方式),并尝试提供尽可能多的信息,例如 Google 客户端库的版本、您运行的操作系统代码等

我会尽快进入。

谢谢你, 埃亚尔

【讨论】:

  • 在问题跟踪器中添加了一个新问题 - code.google.com/p/google-api-dotnet-client/issues/detail?id=296
  • 正如 Claudio 提到的 GData 已被弃用,因此您不会获得任何支持或新功能。我调查了您的错误,看来我需要更多详细信息-您也可以提供提琴手数据吗?我运行了与您类似的代码,它适用于具有不同块大小的 ~25MB 文件。
  • 您好 Eyal 非常感谢您提出这个问题并对其进行调查。我们很高兴向您发送一些代码和系统规范,但是为您提供更多详细信息的最简单方法是什么?直接在这里发布或发送到电子邮件地址?我们从未使用过 Fiddler;设置它涉及多少工作?谢谢哈利
  • 设置fiddler非常简单,你可以从fiddler2.com/fiddler2下载它,你就可以开始了。另请注意,我目前正在改进 ResumableUpload 以支持服务器错误,因此在几周内您将能够从我们的存储库中提取最新版本,并且您的媒体上传将支持从服务器错误中恢复。
  • 您好,Eyal,感谢您的更新。我们将关注 1.4 版。如果您还需要我们提供更多详细信息,请告诉我们。问候哈利
猜你喜欢
  • 2018-12-26
  • 1970-01-01
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-06
  • 1970-01-01
相关资源
最近更新 更多