Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用node.js对Heroku上的s3进行pass-thru上传?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我目前的代码.我正在使用express和knox,我认为我没有做任何异常,但是s3.putFile响应400状态代码但是null错误,并且文件没有上传.

var express = require('express');
var knox = require('knox');

var app = express();
app.use(express.bodyParser());

var s3 = knox.createClient({
    key: process.env.AWS_ACCESS_KEY_ID,secret: process.env.AWS_SECRET_ACCESS_KEY,bucket: process.env.S3_BUCKEt_name
});

app.post('/upload',function(req,res,next) {
    var photo = req.files.photo;
    var s3Headers = {
      'Content-Type': photo.type,'x-amz-acl': 'public-read'
    };

    s3.putFile(photo.path,photo.name,s3Headers,function(err,s3responsE){
      //handle,respond
    });
});

这个相同的代码甚至可以从cloud9在线编辑器/调试器中运行,而不是来自Heroku.我猜这与“ephemeral file system”有关,但这只是猜测.但是我能够使用noirweavejester’s aws sdk在Clojure中使用s3 pass-thru上传工作,因此它必须在节点中也可以.

解决方法

@H_419_18@ 我偶然发现了一个修复程序 – 一旦我将以下内容添加到package.json中,它就开始工作了. Heroku认为0.4.

"ENGInes": {
  "node": "0.8.x"
}

大佬总结

以上是大佬教程为你收集整理的如何使用node.js对Heroku上的s3进行pass-thru上传?全部内容,希望文章能够帮你解决如何使用node.js对Heroku上的s3进行pass-thru上传?所遇到的程序开发问题。

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

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