在xamarin中的GoogleDrive文件多部分类型上传

时间:2016-09-20 09:05:06

标签: xamarin google-drive-api xamarin.forms

我的Xamarin表单应用程序使用rest apis将一个zip文件上传到google驱动器。但是名称始终显示为"无标题"。所以我尝试使用多部分内容,但是得到了&#34的解析错误;代码":400,

var jsonstring = "{ \"name\": \"demo.zip\” }";

var multicontent = new MultipartContent();

var strcontent = new StringContent(jsonstring);

var backupContent = “byte array content of my file”;

multicontent.Add(strcontent);
multicontent.Add(backupContent);
HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer”, “my token value");

HttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Length", backupContent.ContentLength.ToString());

   HttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "multipart/related");

var res = await HttpClient.PostAsync( "https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart", multicontent);

var stringContent = await res.Content.ReadAsStringAsync();

1 个答案:

答案 0 :(得分:0)

根据Google云端硬盘documentation,您收到的错误058d2896-9a67-454c-9aac-8bec697d08c9是用户错误。此错误由以下原因引起:

  • 尚未提供必填字段或参数

  • 提供的字段组合无效

  • 参数中提供的值无效

此错误导致的另一个问题是尝试将重复的父级添加到云端硬盘项目时。当尝试添加将在目录图中创建循环的父级时,也可以抛出它。

有关详细信息,请查看此link以了解您可以在Google云端硬盘API中执行的不同上传选项。如果可以帮助您,也可以查看ZIP Extractor