Firebase存储看起来非常酷且易于使用,但我想知道是否有办法在将图像上传到Firebase存储之前调整图像大小,例如,在服务器中使用ImageMagick运行进程,然后使用上传进程运行Firebase SDK,但我注意到Firebase SDK服务器没有存储功能。
答案 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)应该有很多优点,所以我建议你投票给他答案。