Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js亚马逊s3如何检查文件是否存在大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图弄清楚如何在S3上执行相当于fs.exists()的操作.

我成功获取了存储桶的内容,但我无法弄清楚如何在存储桶中存在特定文件时询问S3(我不想下载整个文件列表并检查客户端,因为也有很多文件).

供参AWS2JS documentation on S3.GET

var s3 = require('aws2js').load('s3',appConfig.awsAccessKeyId,appConfig.awsSecretAccessKey);  
s3.setBucket(appConfig.awsBucketName);

            var folder = encodeURI('reports');
            var url = '?prefix=' + folder;

            s3.get(url,{Contents: null,Key: 'reports/emot_cat_r1180341142.png'},'xml',function (error,data) {
                console.log("Error",error);
                console.log("Data",data);
                true.should.be.true;
                done();
            });

输出

{Contents:null,Key:'[file path / name]’}”是我尝试解释上面引用的API指令.

如您所见,它只是枚举存储桶的内容,但我需要API调用来检查特定文件是否存在.

有人可以帮忙吗?我对这一切都很陌生.

解决方法

@R_607_8554@HEAD请求以http方式执行此操作.不存在的文件会触发404错误.这是一个简单的实现:

var s3 = require('aws2js').load('s3',process.env.AWS_ACCEESS_KEY_ID,process.env.AWS_SECRET_ACCESS_KEY)

s3.setBucket(process.env.AWS2JS_S3_BUCKET)

s3.head(process.argv[2],function (err,res) {
    if (err) {
        console.log(err)
        return
    }
    console.log(res)
})

出于测试目的,请使用以下命令调用它:

node s3-check.js file/path.foo

例子:

node s3-check.js foo1.png
{ 'x-amz-id-2': 'BU8rLC35oZdNLh4TkE9Y5+czR5r9hg7kl/EbhkxUF+cA94F41knI2YNs/YG1acQg','x-amz-request-id': '7714B364EC1A27B2',date: 'Mon,17 Jun 2013 06:42:52 GMT','last-modified': 'Tue,28 May 2013 13:18:12 GMT',etag: '"2830931876c37237ae98458a99e86d85"','accept-ranges': 'bytes','content-type': 'image/png','content-length': '1165',server: 'AmazonS3' }

node s3-check.js foo0.png
{ [Error: API error with http Code: 404]
  headers:
   { 'x-amz-request-id': '96841B9C0BC5E66D','x-amz-id-2': 'ZMZH9bkrR6nhDkWK1hM+qm0dlzBOYhOZhVyT3nKlMuZgPag//5EhfBuAHZq+9ZRm','content-type': 'application/xml','transfer-encoding': 'chunked',17 Jun 2013 06:43:53 GMT',server: 'AmazonS3' },code: 404 }

大佬总结

以上是大佬教程为你收集整理的node.js亚马逊s3如何检查文件是否存在全部内容,希望文章能够帮你解决node.js亚马逊s3如何检查文件是否存在所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。