我尝试通过BITS(OneDrive大文件上传API)将文件上传到OneDrive 。
我可以创建一个会话,但是当我要上传第一个Fragment时,在读取响应时会收到一个带有400 HTTP错误(错误请求)的WebException。除此以外,没有其他信息。我的代码是这样的:
string requestString = String.Format("https://cid-{0}.users.storage.live.com/items/{1}/{2}", userId, folderId, fileName);
WebRequest webRequest = WebRequest.Create(requestString);
webRequest.Headers.Add("X-Http-Method-Override", "BITS_POST");
webRequest.Headers.Add("Authorization", "Bearer " + accessToken);
webRequest.Headers.Add("BITS-Packet-Type", "Fragment");
webRequest.Headers.Add("BITS-Session-Id", sessionId);
webRequest.Headers.Add("Content-Range", String.Format("bytes {0}-{1}/{2}", contentOffset, (contentFragment.Count() + contentOffset), totalContentLength));
webRequest.ContentLength = contentFragment.Count();
webRequest.Method = "POST";
webRequest.GetRequestStream().Write(contentFragment.ToArray(), 0, contentFragment.Count());
WebResponse webResponse = webRequest.GetResponse() as WebResponse;
这是一个屏幕截图,用于查看已失败的第一个请求的值:
我们已经看到了有关如何实现此过程的足够问题,因此我创建了一个快速的小应用程序来显示其工作方式。看一下以下要点,看看它与您实际所做的比较:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句