【问题标题】:How to remove multipart/form-data;boundary from WebClient.UploadFile?如何从 WebClient.UploadFile 中删除 multipart/form-data;boundary?
【发布时间】:2013-09-03 14:10:24
【问题描述】:

我正在尝试将图像上传到 Google API。我正在使用.net WebClient.UploadFile。当我上传请求时,请求中包含 Content-Type multipart/form-data;boundary= 并且我收到以下错误。

"内容类型 multipart/form-data;boundary=---------------------8d0738def5b9322 是 不是有效的输入类型”

有什么方法可以从请求中删除它还是我需要使用不同的上传方法?

 var client = new WebClient();
 client.Headers.Add("Authorization", "Bearer " + _accessToken);
 client.Headers.Add("GData-Version", "2");
 client.Headers.Add("X-GData-Key", "key=" + _developerKey);
 client.Headers.Add("Content-Type", "image/jpeg");
 client.UploadFile(URL_PROFILE_UPLOAD_FEED.Replace("default", channelId), filePath);

文档要求的请求格式。

POST /feeds/api/partners/default/images/IMAGE_TYPE HTTP/1.1 主持人:uploads.gdata.youtube.com 内容类型:图片/jpeg 授权:承载ACCESS_TOKEN GData-版本:2 X-GData-Key:key=DEVELOPER_KEY

BINARY_FILE_DATA

【问题讨论】:

  • 试试 WebClient 的 UploadData 方法,而不是 UploadFile。
  • @VladimirFrolov 做到了。如果您想将其发布为答案,我会标记它。

标签: c# http-headers youtube-api


【解决方案1】:

您应该使用WebClient 类的UploadData 方法而不是UploadFile

【讨论】:

  • 对于那些可能想知道从文件中获取字节[]的人 $bytes = [System.IO.File]::ReadAllBytes("file_path")
猜你喜欢
  • 2018-12-22
  • 1970-01-01
  • 2018-06-11
  • 1970-01-01
  • 2018-08-19
  • 2017-09-20
  • 2014-10-31
  • 2018-12-01
  • 2014-10-31
相关资源
最近更新 更多