一个驱动器分段上传错误HTTP 400错误请求

时间:2016-06-27 09:55:51

标签: multipartform-data codenameone restful-url onedrive bad-request

当我使用以下内容上传文件到onedrive时:

HTTP POST https://apiis.live.net/v5.0/{foldid}/files?access_token={ACCESS_TOKEN}

Content-Type: multipart/form-data; boundary={boundary}

--{boundary}
Content-Disposition: form-data; name="file"; filename="{filename}"
Content-Type: application/octet-stream

{File content goes here}
--{boundary}

我遵循https://msdn.microsoft.com/en-us/library/office/dn659726.aspx

的指南

它总是给我错误“java.lang.Exception:HTTP 400. Bad Request”。 是一个驱动团队或任何人帮忙给我建议它出了什么问题?

谢谢和最诚挚的问候, 罗纳德

2 个答案:

答案 0 :(得分:1)

您的请求似乎格式不正确。
我不知道一个驱动器是如何工作的,但在对链接进行快速概述后,您是否尝试删除了HTTP' HTTP'之前' POST'标题?

或者您的文件内容是否正确发送?

答案 1 :(得分:1)

在网址https://apis.live.net/v5.0/{folderid}/files?access_token={ACCESS_TOKEN}中,这表示您使用的是已弃用的LiveConnect API。我建议使用位于https://api.onedrive.com的受支持API和此处描述的上传方法https://dev.onedrive.com/items/upload_put.htm,其中请求不需要多部分mime架构

PUT .../drive/root:/{parent-path}/{filename}:/content
Content-Type: text/plain

The contents of the file goes here.

https://dev.onedrive.com获取有关这些API的更多信息如果更新的上传方法仍然会给您带来麻烦,请确保包含完整的HTTP响应标头和正文。