gpt4 book ai didi

node.js - 如何使用 node.js 将直通上传到 Heroku 上的 s3?

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:49 26 4
gpt4 key购买 nike

这是我当前的代码。我正在使用 express 和 knox,我认为我没有做任何不寻常的事情,但是 s3.putFile 正在响应 400 状态代码但是空错误,并且文件没有上传。

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”有关,但这只是一个猜测。但是,我能够使用 noir 获得 s3 直通上传以在 Clojure 中的 Heroku 上工作。和 weavejester's aws sdk ,所以它在 Node 中也必须是可能的。

最佳答案

我偶然发现了一个修复程序——将以下内容添加到 package.json 后,它就开始工作了。否则 Heroku 默认为 0.4。

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

关于node.js - 如何使用 node.js 将直通上传到 Heroku 上的 s3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13097439/

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