Измените размер изображения перед его загрузкой в ​​Firebase

Firebase-хранилище выглядит очень круто и легко в использовании, но мне интересно, есть ли способ изменить размер изображения перед его загрузкой в ​​Firebase Storage, например, запустить процесс, используя ImageMagick на сервере, а затем запустить процесс загрузки, используя Firebase SDK, но Я заметил, что для Firebase SDK Server нет функций хранения.

 Sergio Flores01 июн. 2016 г., 08:30
Да, есть много способов сделать это на любом языке.
 Kato01 июн. 2016 г., 06:56
Что касается загрузки его "перед загрузкой в ​​Firebase", естьнесколько узлов для работы с изображениями, да?

Ответы на вопрос(2)

Мы используемИзменение размера JavaScript, который использует вычислительную мощность клиентского устройства для изменения размера изображения и работает ОТЛИЧНО, экономя нам пространство и деньги, а также экономит клиенту кучу времени и денег в большинстве мобильных случаев.

Оригинальный скрипт, который мы используемпришелотсюдаи процедура его использования настолько проста:

<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) заслуживает ОЧЕНЬ заслуг, поэтому я бы порекомендовал вам проголосовать за его ответ.

Решение Вопроса

Вы также можете использовать Firebase Storage +Облачные функции Google чтобы загрузить изображение, измените его размер (используя ImageMagick или аналогичный) и запишите его обратно в Firebase Storage.

У меня есть пример, используя их вместеВот (хотя я вызываюCloud Vision APIвместо изменения размера изображения).

Небольшое примечание: Firebase Storage не имеет клиента Node.js, вместо этого мы рекомендуем использоватьGCloud-Node библиотека.

 Sergio Flores07 мар. 2018 г., 23:53
Хорошо, знайте, что облачные функции являются частью firebase, проще реализовать решение с использованием nodejs.
 Sergio Flores01 июн. 2016 г., 08:28
Я думал так же, но я не был уверен, было бы здорово использовать gcloud-golang вместо узла для этого.
 Mike McDonald01 июн. 2016 г., 16:23
Вы всегда можете настроить уведомления об изменении объекта (cloud.google.com/storage/docs/object-change-notification) + приложение Go Google App Engine (cloud.google.com/appengine/docs/go) сделать это :)

Ваш ответ на вопрос