作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 knox ( https://github.com/LearnBoost/knox ) 将文件上传到 Amazon S3。我刚刚将我的 Node 应用程序移至 Amazon EC2,并在使用 knox 上传时出现以下错误。我似乎安装了所有库。同样的代码在 nodejitsu 上是可以的。我对 Node/JS 很陌生,所以我不确定这意味着什么。
/home/ec2-user/foo/node_modules/knox/lib/auth.js:208
Object.keys(url.query).forEach(function (key) {
^
TypeError: Object.keys called on non-object
at Function.keys (native)
at Object.exports.canonicalizeResource (/home/ec2-user/foo/node_modules/knox/lib/auth.js:208:10)
at Client.request (/home/ec2-user/foo/node_modules/knox/lib/client.js:275:22)
at Client.put (/home/ec2-user/foo/node_modules/knox/lib/client.js:326:15)
at Client.putStream (/home/ec2-user/foo/node_modules/knox/lib/client.js:408:18)
at /home/ec2-user/foo/node_modules/knox/lib/client.js:378:20
at Object.oncomplete (fs.js:93:15)
最佳答案
也许,您和我一样,将“mimetype”字符串作为 client.putFile() 函数中的第三个参数传递...
您必须传递一个指定内容类型 header 的对象:
client.putFile(localPath, s3Path, {'Content-Type': mimetype} ,function(err, result) {});
或者忽略第三个参数(就像我做的那样):
client.putFile(localPath, s3Path, function(err, result) {});
关于node.js - 使用 knox 上传时在非对象上调用的 TypeError : Object. 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25621859/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!