谷歌驱动器上传分段错误

时间:2018-07-16 10:07:09

标签: post google-api http-headers webclient

我正在尝试将带有一些元数据的文件上传到Google驱动器

基本上是我的代码:

Sub DriveMultiUpload(Bytes As Byte(), Name As String)
        SetAuthHeaders("https://www.googleapis.com/auth/drive")
        Dim mp = New MultipartFormDataContent
        mp.Add(New StringContent(Name), "name")
        mp.Add(New ByteArrayContent(Bytes))
        Dim pb = mp.ReadAsByteArrayAsync.Result
        Headers("Content-Type") = "multipart/related"
        Dim response As Byte()
        Dim ret = New WebInfo(Of String)
        Try
            response = UploadData("https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", "POST", pb)
        Catch ex As WebException
            If ex.Response IsNot Nothing Then ret.Result = New StreamReader(ex.Response.GetResponseStream).ReadToEnd
        End Try
    End Sub

我得到的错误是:

  

不良内容类型。请使用多部分。

[顺便说一句,我尝试在Fiddler中调试,但是

  1. 此请求未显示,
  2. 打开Fiddler时,响应全部为空]

正如您在代码中看到的那样,我将multipart用作内容类型

我感到奇怪的是,一旦上传数据返回,标头就根本不再包含任何内容类型,所以也许这可能是问题所在?

请告知

1 个答案:

答案 0 :(得分:0)

答案似乎就是根本不使用MultipartFormDataContent

相反,我基于此处的代码https://stackoverflow.com/a/29118333/240742

像魅力一样工作