我在使用 ObjectStorageAPI 管理 FIWARE 对象存储中的文件时遇到问题。在编写了一组创建图像并将它们上传到对象存储的小部件/操作符之后,我希望能够在任何给定实例下下载这些文件。但是,我似乎无法这样做。
通过身份验证后,我列出容器内容,然后尝试下载由全局变量 file_name 指定的所需文件,如下所示:
function onGetAuthTokenSuccess(new_token, data){
...
api = new ObjectStorageAPI(object_storage);
api.listContainer(container, {
token: token,
onSuccess: onListContainterSuccess,
onFailure: function () {
alert("Could not find container " + container + " in region " + region);
}
});
}
function onListContainterSuccess(file_list) {
api.getFile(container, file_name, {
token: token,
onSuccess: onDownloadFileSuccess,
onFailure: function () {
alert("Could not successfully download " + file_name);
}
});
}
function onDownloadFileSuccess(blob){
console.log(JSON.stringify(blob));
....
}
运行上面的代码会产生如下输出:
{"type":"image/png","size":45590}
没有给出任何其他信息。
同时,我的浏览器的网络监视器表明事务实际上是正确发生的,因为(未格式化和缩小的)响应负载是:
{"mimetype":"image/png","metadata":{},"valuetransferencoding":"base64","value":"iVBORw0KGgoAAAANSUhEUgAAA0MAAAE2CAYAAACjsEm0AAAgAElEQVR4Xux9CZgU1dX26Z5935kZlmGTRTZl00iMS4iExEQ0RI2JCyayCAqCGCIiYlBj0KhgDEKQfMQvGvJnUYwmBv0kMQaMISoo+47sMiyzz3RP.....m1YaNpGAAAAABJRU5ErkJggg=="}
HTTP 状态是 200 或 304,应该被认为是正常的。请注意,我可以通过固件门户 UI 正常下载请求的文件。
关于我应该如何以正确的方式实际获取文件的任何想法?