我们正在利用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似乎没问题,我们的内容范围标题永远不会超出既定的文件大小,并且在编辑或测量元数据时,元数据似乎不受我们的控制。
希望有些灵魂之前已经遇到过这个问题,并且可以为解决方案提供一些见解