2014-12-03 51 views
1

我想上傳一個文件到基於這裏的api框:https://developers.box.com/docs/#files-upload-a-file,我總是得到一個「不好的請求」錯誤。上傳文件到框錯誤

問題在哪裏?

URL = https://upload.box.com/api/2.0/files/content
數據= {"name":"1.jpg","parent":{"id":"0"}}

 private Stream postToUrl(string url, string data) 
     { 
       WebRequest request = WebRequest.Create(url); 
       request.Method = WebRequestMethods.Http.Post; 
       byte[] byteArray = Encoding.UTF8.GetBytes(data); 
       request.ContentType = "multipart/form-data"; 
       request.ContentLength = byteArray.Length; 
       request.Headers.Add("Authorization", "Bearer " + AccessToken); 
       Stream dataStream = request.GetRequestStream(); 
       dataStream.Write(byteArray, 0, byteArray.Length); 
       dataStream.Close(); 
       WebResponse response = request.GetResponse(); 

       dataStream = response.GetResponseStream(); 

      return dataStream; 
     } 

我也試圖使用url:https://upload.box.com/api/2.0/files/content?access_token=AccessToken
代替令牌的報頭內

+0

你在哪裏指定所需的'name'和'parent'屬性? – tufelkinder 2014-12-04 00:42:58

+0

在函數之外,我編寫了我在「data」和「url」參數中獲得的確切值。文件名是「1.jpg」,我將它上傳到根文件夾(id = 0)。 – user990635 2014-12-04 10:22:52

+0

我這樣做:「{\」name \「:\」「+ fileName +」\「,\」parent \「:{\」id \「:\」「+ destinationFolderId +」\「}}」 – user990635 2014-12-04 10:24:09

回答

2

文件上傳應該是一個多部分請求,但它看起來像你的身體是JSON。我也沒有看到你設置文件內容的位置。

This answer給出了一個多部分請求應該看起來像什麼的好例子。最簡單的解決方案是使用SDK或找到可以爲您創建多部分請求的庫。