2013-08-30 23 views
1

我正嘗試將圖片上傳到Google API。我正在使用.net WebClient.UploadFile。當我進行上傳時,請求中包含請求中的Content-Type multipart/form-data; boundary =,並且出現以下錯誤。如何從WebClient.UploadFile中刪除multipart/form-data;邊界?

「內容類型 的multipart/form-data的;邊界= --------------------- 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 /饋送/ API /夥伴/默認/圖像/ IMAGE_TYPE HTTP/1.1 主機:uploads.gdata.youtube.com 內容類型:image/JPEG 授權:承載ACCESS_TOKEN 的GData-版本:2 X-的GData-Key:密鑰= Developer_Key開發

BINARY_FILE_DATA

+2

嘗試使用WebClient的UploadData方法代替UploadFile。 – Vladimir

+0

@VladimirFrolov這樣做。如果你想發佈這個答案,我會標記它。 – NullReference

回答

2

您應該使用方法UploadDataWebClient類,而不是UploadFile

+0

對於那些想知道從文件獲取字節[]的人$ bytes = [System.IO.File] :: ReadAllBytes(「file_path」) – wei