Angularjs 有没有一种方法可以在某处转储上千个图像,并使用RESTAPI提取它们?

Angularjs 有没有一种方法可以在某处转储上千个图像,并使用RESTAPI提取它们?,angularjs,node.js,Angularjs,Node.js,事情是这样的:- 我在mac电脑上保存了上千张图像。我有一个模仿电子商务交易网站的登陆页面。要手动在img标签中键入一千张图片的src url,这将是一件很乏味的事情。因此,我认为我可以将这些图像转储到云存储或其他地方,并使用RESTAPI get方法在response.data中提取这些图像。然后将其分配给$scope变量,并使用ng repeat在我的登录页视图中绑定图像。这可能吗?如果没有,还有什么选择?SQL数据库 谢谢你的帮助。另外,我对web开发完全是一个初学者。安装node.js。

事情是这样的:-

我在mac电脑上保存了上千张图像。我有一个模仿电子商务交易网站的登陆页面。要手动在img标签中键入一千张图片的src url,这将是一件很乏味的事情。因此,我认为我可以将这些图像转储到云存储或其他地方,并使用RESTAPI get方法在response.data中提取这些图像。然后将其分配给$scope变量,并使用ng repeat在我的登录页视图中绑定图像。这可能吗?如果没有,还有什么选择?SQL数据库


谢谢你的帮助。另外,我对web开发完全是一个初学者。

安装

node.js
。这是一个服务器的Javascript,这应该使它变得非常简单,因为您已经知道Javascript

在Mac上,您可以按如下方式安装节点:

brew install node
使用这个node.js代码(归功于,我做了一些调整):

您应该会在命令行上看到以下文本:

Server running at http://localhost:3333/
您可以通过在浏览器中访问此地址快速测试它,您应该会看到一个JSON对象,它向您显示“/images”目录中所有文件名的数组。顺便说一句,这个程序假设您将images文件夹放在与“server.js”相同的目录中。您可以将images目录放在任意位置,只需更改变量“imageDir”的路径即可

现在,您可以在控制器中使用以下代码从Angular加载文件列表:

$http.get("http://localhost:3333", function(data) {
    $scope.images = data;
});
在您的视图中,您现在可以像这样使用
ng repeat
来显示所有图像:

<div ng-repeat="image in images" style="padding: 8px">
    <img src="http://localhost:3333/image={{ image }}">
</div>


注意:如果您在Mac上本地运行,或者将所有图像上传到可以使用Node.js的服务器上,这将起作用。

有数百种方法可以做到这一点,但看起来您走的方向是正确的。看看node-aws-SDK,应该会让这很容易。嘿,我确实尝试过使用node-aws-SDK。但我只能在一个bucket中添加一个文件。我认为关键字中的.jpg不起作用。我不确定我是不是没把它换成什么的。我使用的示例代码如下所示:-var AWS=require('AWS-sdk');var uuid=require('node-uuid');//创建一个S3客户端var S3=new AWS.S3();//创建一个bucket并上传一些东西到其中var bucketName='node sdk sample-'+uuid.v4();var keyName='akshar_amazon.txt';s3.createBucket({Bucket:bucketName},function(){var params={Bucket:bucketName,Key:keyName,Body:'Akshar真棒!'};s3.putObject(params,function(err,data){if(err)console.log(err)else console.log(“成功地将数据上传到”+bucketName+“/”+keyName);});}););。关键字中的jpg工作得很好。您使用的是什么框架?尝试使用这个repo中的例子来上传angular文件。我正在使用angular框架,但我会按照你的建议。谢谢!非常感谢您对Cool博士的详细回复。我会按照上面的建议去做。如果你认为这可以解决你的问题或者让你朝着正确的方向开始,你能用复选标记我的答案吗?谢谢
$http.get("http://localhost:3333", function(data) {
    $scope.images = data;
});
<div ng-repeat="image in images" style="padding: 8px">
    <img src="http://localhost:3333/image={{ image }}">
</div>