【发布时间】:2017-05-01 19:05:32
【问题描述】:
我们正在利用 V Cloud API 与虚拟机交互(创建机器、执行操作、切换媒体等)。一个请求的功能是能够将媒体(特别是 ISO)上传到特定的目录。 API guide (pg 67) 相当简单,我们对上传开始时提供的 URL 的多部分请求顺利进行。
注意:我们必须在开始上传之前声明文件大小
在上传过程中唯一看起来有问题的是“传输的大小”最终大于过程结束时的“文件大小”。这有点奇怪,因为我们的内容范围永远不会超过预期的文件大小(我们假设元数据被包含在我们没有发言权的情况下)。一旦此传输大小超过文件大小,文件上传状态将更改为“错误”但仍返回200 OK
{
"name": "J Small 4",
"description": "",
"files": [{
"name": "file",
"totalSize": 50696192,
"status": "Error",
"link": "https://cloud01.cs2cloud.com/transfer/27b8f93c-8319-419e-9e8c-15622097670b/file",
"transferredSize": 54293177
}],
"id": "urn:vcloud:media:1cec68ef-f22e-4ec7-ae5d-dfbc4f7137d9",
"catalogId": "urn:vcloud:catalogitem:19dbfdd8-ea70-4355-abc7-96e34dccb869"
}
不确定从哪里开始调试,因为所有 API 调用都返回 200 OK,.ISO file 似乎很好,我们的内容范围标头永远不会超出既定文件大小,元数据在编辑或测量方面似乎超出了我们的控制范围。
希望有人曾经经历过这个问题,并且可以提供一些洞察力来帮助解决问题
【问题讨论】:
标签: file-upload vmware multipartform-data vcloud-director-rest-api