Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点将文件上载到S3错误InvalidArgument:null_Node.js_Amazon S3_Aws Sdk Js - Fatal编程技术网

Node.js 节点将文件上载到S3错误InvalidArgument:null

Node.js 节点将文件上载到S3错误InvalidArgument:null,node.js,amazon-s3,aws-sdk-js,Node.js,Amazon S3,Aws Sdk Js,我在aws sdk库中有此错误,但我没有找到原因 我已经尝试了很多天了,但是没有成功,也不知道发生了什么 这是一个状态码400,但我在网上查了很多例子,一切都很好 这是密码 var AWS = require('aws-sdk'); AWS.config.update({ region: 'nyc3' }); var uuid = require('node-uuid'); var fs = require('fs'); // Create an S3 client var s3 = new

我在aws sdk库中有此错误,但我没有找到原因

我已经尝试了很多天了,但是没有成功,也不知道发生了什么 这是一个状态码400,但我在网上查了很多例子,一切都很好

这是密码

var AWS = require('aws-sdk');
AWS.config.update({ region: 'nyc3' });

var uuid = require('node-uuid');
var fs = require('fs');

// Create an S3 client
var s3 = new AWS.S3({
  apiVersion: '2006-03-01',
  secretAccessKey: '*****',
  accessKeyId: '*****',
  endpoint: 'https://nyc3.digitaloceanspaces.com',
  region: 'nyc3'
});

AWS.config.region = 'nyc3';

const fileName = 'hello_world.txt';

// Create a bucket and upload something into it
var bucketName = 'my-bucket';
var keyName = fileName;

fs.readFile(fileName, (err, data) => {
  if (err) throw err;
  var params = {
    ACL: 'private',
    Bucket: bucketName,
    Key: keyName,
    Body: JSON.stringify(data, null, 2),
    ContentLength: data.length
  };
  s3.putObject(params, function(err, data) {
    if (err) console.log(err);
    else
      console.log(
        'Successfully uploaded data to ' + bucketName + '/' + keyName
      );
  });

  // s3.upload(params, function(s3Err, data) {
  //   if (s3Err) console.log(s3Err);
  //   else console.log(`File uploaded successfully at ${data.Location}`);
  // });
});
您可以看到,我尝试了putObject和upload方法,但它们都有相同的错误

{ InvalidArgument: null
    at Request.extractError (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/services/s3.js:816:35)
    at Request.callListeners (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
  message: null,
  code: 'InvalidArgument',
  region: null,
  time: 2020-02-28T03:20:24.289Z,
  requestId: 'tx00000000000016f648fab-005e5886f8-3359f-nyc3b',
  extendedRequestId: undefined,
  cfId: undefined,
  statusCode: 400,
  retryable: false,
  retryDelay: 38.29641987933954 }
{InvalidArgument:null
at Request.extractError(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/services/s3.js:816:35)
at Request.callListeners(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/sequential_executor.js:106:20)
在Request.emit(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/sequential_executor.js:78:10)
at Request.emit(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:683:14)
at Request.transition(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:22:10)
在AcceptorStateMachine.runTo(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/state_machine.js:14:12)
at/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/state_machine.js:26:10
应请求。(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:38:9)
应请求。(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:685:12)
at Request.callListeners(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/sequential_executor.js:116:18)
消息:空,
代码:“无效辩论”,
区域:空,
时间:2020-02-28T03:20:24.289Z,
requestId:'TX00000016F648FAB-005e5886f8-3359f-nyc3b',
extendedRequestId:未定义,
cfId:未定义,
状态代码:400,
可检索:错误,
retryDelay:38.29641987933954}
我不知道我能做些什么来解决这个问题。
任何人都可以提供帮助?

在提交S3
putObject
调用之前,当您
console.log(data)
时会发生什么?Hi@TheLebDev这里是输出,因此您尝试上载的数据是
?是的,这是我想要上载的。我建议首先记录发送到putObject的每个参数,显然,有东西被解释为
null
并使您的呼叫崩溃。当您
console.log(数据)时会发生什么
在提交S3
putObject
调用之前?Hi@TheLebDev此处显示输出,因此您尝试上载的数据是
?是的,这是我想要上载的。我建议首先记录发送到putObject的每个参数,显然,某些内容被解释为
null
,正在使您的呼叫崩溃。