gpt4 book ai didi

node.js - 使用 Node.js 应用程序获取存储在 Bluemix Object Storage 容器中的图像的源 url

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:46 26 4
gpt4 key购买 nike

我在 Bluemix 上有一个对象存储实例,我将图像存储在容器中。我需要存储在那里的图像的源 URL,以便我可以使用该图像。为此,我正在考虑创建一个 Node.js 应用程序,以便编写一个 post 调用,在其中将对象存储中存在的图像名称作为请求传递,以便它向我提供图像 url 作为响应。 这可能吗?如果可能的话,有人可以建议是否有任何 npm 模块可以执行此功能吗?如果没有,是否有其他建议来获取图像的网址?

感谢任何帮助..谢谢!

最佳答案

通过命令node app.js启动服务器,您还需要包pkgcloud来执行此操作。您只需在存储模块内的 IBM 控制台上创建 key 即可获取对象存储凭证。在 app.js 中插入新的下载路径

var  objectStorageHandler = require("./lib/objectStorageHandler.js");

app.get('/download', 函数(req, res) {

(new objectStorageHandler()).download('YourContainerName', 'imagenamewithextension',function(download){
console.log(res);
download.pipe(res);
});

});

在 Lib 文件夹内创建一个名为 objectStorageHandler.js

的模块

objectStorageHandler.js内编写代码

var pkgcloud = require('pkgcloud');

var objectStorageHandler = function(){

}

objectStorageHandler.prototype.download =  function(container, file,callback)
{
var config = {
provider: 'openstack',
useServiceCatalog: true,
useInternal: false,
keystoneAuthVersion: 'v3',
authUrl: 'https://identity.open.softlayer.com',
tenantId: 'YOURPROJECTID', //projectId from credentials
domainId: 'YOURDOMAINID',
username: 'YOURUSRNAME',
password: 'YOURPASSWORD',
region: 'dallas' //dallas or london region
};

var client = pkgcloud.storage.createClient(config);
client.auth(function (error) {
if(error) {
console.error("Authorization error for storage client (pkgcloud): ", error);
}
else {
var request = client.download({
container: container,
remote: file
});

callback(request);
}
});

}

module.exports = objectStorageHandler;

服务器启动后,假设在端口 3000 只需调用 localhost:3000/download 即可下载图像,我们还可以在参数中传递图像名称来动态下载图像。

关于node.js - 使用 Node.js 应用程序获取存储在 Bluemix Object Storage 容器中的图像的源 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39178062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com