1

我正在尝试根据此处的 api 将文件上传到盒子:https ://developers.box.com/docs/#files-upload-a-file ,我总是收到“错误请求”错误。

问题出在哪里?

网址= 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
而不是标头内的 Token

4

1 回答 1

2

文件上传应该是一个多部分的请求,但看起来你的 body 是 JSON。我也看不到您在哪里设置文件的内容。

这个答案给出了一个多部分请求应该是什么样子的很好的例子。最简单的解决方案是使用 SDK 或找到可以为您创建多部分请求的库。

于 2014-12-10T02:31:34.857 回答