当我的数据库用“photo_url”字段更新时,我想下载图像并将其保存到存储区
exports.saveToStorage = functions.database.ref(`/images/${itemImageRef}`)
.onWrite(event => {
const filePath = event.data.val();
const filename = filePath.split('/').pop();
var download = request.get(filePath).on('error', (err) => {
console.log(err)
})
.pipe(fs.createWriteStream(filename));
download.on('finish', () => {
const bucket = gcs.bucket('id.appspot.com');
const storagePath = `images/${filename}`;
return bucket.upload(download, { destination: storagePath })
.then(() => {
console.log('success upload');
});
});
});
有了@jobsamuel建议的帖子,代码现在可以工作了:
exports.saveToStorage = functions.database.ref(`/images/${itemImageRef}`)
.onWrite(event => {
const filePath = event.data.val();
const filename = filePath.split('/').pop();
const bucket = gcs.bucket('id.appspot.com');
const remoteWriteStream = bucket.file(filename).createWriteStream({
metadata: { contentType: 'image/jpeg' }
});
request(filePath).pipe(remoteWriteStream)
.on('error', (err) => console.log(err))
.on('finish', () => console.log('success save image'));
});
通过将请求结果直接管道到bucket,它通过跳过写入本地文件的步骤来解决问题,我怀疑这是我的原始代码失败的原因。另外,不要忘记为图像设置contentType。
如何获得下载URL? 我有点糊涂了。现在,我被困在修改后的功能更新。下面是我对管理的初始化。
我编写了一个Firebase云函数,可以通过REST API访问该函数。代码如下所示。 我需要做的是,当用户通过“Web服务URL”从前端提交一些值时。 1)我需要将这些数据保存在Firebase实时数据库中。 2.)我参考了网上的几个教程,不明白在下面的代码中做了什么。
问题内容: 我想将图像的下载URL放入Firebase数据库中。我可以将图像上传到存储中,但无法弄清楚如何将URL与其余的“帖子”一起放入数据库。 问题答案: 像这样组织您和func: 接下来,只需连接并保存到您的节点即可。 您也可以查看我有关上传数据并将URL保存到数据库的答案 希望能帮助到你
我正在使用一个Vaadin上传组件,到目前为止,我已经成功地将一个图像上传到一个目录,并在成功上传后在面板组件中显示它。在这之后,我想做的是把它也插入到数据库中。我有一个名为Show的表,它有一个名称、日期和图像。在Show类中,我尝试将图像作为字节数组或Blob。 在上传成功的方法中,我想将文件转换为字节数组,到目前为止我已经尝试过了: 我也试过: uIP它实际上是我的上传ImagePresen
我试图用Java从Firebase存储下载一个图像到android studio应用程序的imageView中。我已经浏览了stackoverflow超过6个小时,所以我很可能读到了任何“类似”的问题。我已经尝试了各种方法,但最多的建议和似乎是最简单的是使用滑翔。我无法让它工作,也找不到错误。我甚至在一个普通的谷歌图片链接尝试,它仍然显示空白。 我用过的代码 我也试过这个代码 而这个代码 给出lo