在将图像上传到firebase之前调整图像大小

时间:2016-05-31 23:47:01

标签: firebase imagemagick firebase-storage

Firebase存储看起来非常酷且易于使用,但我想知道是否有办法在将图像上传到Firebase存储之前调整图像大小,例如,在服务器中使用ImageMagick运行进程,然后使用上传进程运行Firebase SDK,但我注意到Firebase SDK服务器没有存储功能。

2 个答案:

答案 0 :(得分:15)

您还可以使用Firebase Storage + Google Cloud Functions上传图片,调整图片大小(使用ImageMagick等),然后将其写回Firebase存储。

我有一个使用这些here的示例(虽然我触发Cloud Vision API,而不是图像缩放器。)

快速说明:Firebase存储没有Node.js客户端,我们建议您使用GCloud-Node库。

答案 1 :(得分:3)

我们正在使用 JavaScript调整大小,它使用客户端设备处理能力来调整图像大小,并且工作得很好,节省了我们的空间和金钱,并为客户节省了大量时间。大多数移动案件都有钱。

我们使用的原始脚本from here ,使用它的过程就像这样简单:

<input type="file" id="select">
<img id="preview">
<script>
document.getElementById('select').onchange = function(evt) {
    ImageTools.resize(this.files[0], {
        width: 320, // maximum width
        height: 240 // maximum height
    }, function(blob, didItResize) {
        // didItResize will be true if it managed to resize it, otherwise false (and will return the original file as 'blob')
        document.getElementById('preview').src = window.URL.createObjectURL(blob);
        // you can also now upload this blob using an XHR.
    });
};
</script>

我相信那个人(dcollien)应该有很多优点,所以我建议你投票给他答案。