作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试将缓冲区(从表单上传的文件)保存到谷歌云存储,但谷歌 Node SDK 似乎只允许上传具有给定路径的文件(读/写流)。
这是我用于 AWS (S3) 的 - Google Node SDK 中还有什么类似的吗?:
var fileContents = new Buffer('buffer');
var params = {
Bucket: //bucket name
Key: //file name
ContentType: // Set mimetype
Body: fileContents
};
s3.putObject(params, function(err, data) {
// Do something
});
到目前为止,我发现的唯一方法是将缓冲区写入磁盘,使用 SDK 上传文件(指定新文件的路径),然后在成功上传后删除文件 - 缺点这是因为整个过程明显变慢了,以至于使用 Google 存储似乎不可行。是否有任何解决方法/上传缓冲区的方法?
最佳答案
.save
拯救世界!下面的一些代码保存了我创建的“pdf”。
https://googleapis.dev/nodejs/storage/latest/File.html#save
const { Storage } = require("@google-cloud/storage");
const gc = new Storage({
keyFilename: path.join(__dirname, "./path to your service account .json"),
projectId: "your project id",
});
const file = gc.bucket(bucketName).file("tester.pdf");
file.save(pdf, (err) => {
if (!err) {
console.log("cool");
} else {
console.log("error " + err);
}
});
关于node.js - 将缓冲区上传到谷歌云存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36535153/
我是一名优秀的程序员,十分优秀!