给定一个图像 url,我如何将该图像上传到 Google Cloud Storage 以使用 Node.js 进行图像处理?
最佳答案
这是一个两步过程:
- 使用 request 在本地下载文件或 fetch .
用官方上传到GCL library .
var fs = require('fs'); var gcloud = require('gcloud'); // Authenticating on a per-API-basis. You don't need to do this if you auth on a // global basis (see Authentication section above). var gcs = gcloud.storage({ projectId: 'my-project', keyFilename: '/path/to/keyfile.json' }); // Create a new bucket. gcs.createBucket('my-new-bucket', function(err, bucket) { if (!err) { // "my-new-bucket" was successfully created. } }); // Reference an existing bucket. var bucket = gcs.bucket('my-existing-bucket'); var localReadStream = fs.createReadStream('/photos/zoo/zebra.jpg'); var remoteWriteStream = bucket.file('zebra.jpg').createWriteStream(); localReadStream.pipe(remoteWriteStream) .on('error', function(err) {}) .on('finish', function() { // The file upload is complete. });
如果您想将文件保存为 jpeg 图像,您将需要编辑 remoteWriteStream 流并添加自定义元数据:
var image = bucket.file('zebra.jpg');
localReadStream.pipe(image.createWriteStream({
metadata: {
contentType: 'image/jpeg',
metadata: {
custom: 'metadata'
}
}
}))
我在挖掘这个 documentation 时发现了这个
关于javascript - 如何从 Node 中的图片 url 将图片上传到 Google Cloud Storage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36661795/