Как загрузить файлы в облачное хранилище из приложения App Engine, созданного с помощью Nodejs On Back End? - PullRequest
0 голосов
/ 07 октября 2019

Я создал приложение в Nodejs, это приложение вовлекает пользователей в загрузку некоторых файлов, таких как изображения профиля и некоторые другие файлы мультимедиа, поэтому эти файлы хранятся в определенных папках здесь, в папке моего веб-приложения.

Это работает хорошо локально теперь, после развертывания моего приложения, когда пользователь загружает эти изображения и другие файлы, он возвращает ошибку, я полагаю, мне следует выполнить некоторую настройку в облачном хранилище и позволить моему приложению App Engine иметь возможность чтения и записи втакая папка с использованием NodeJs. Пожалуйста, помогите мне с тем, как я могу этого достичь.

Я использую этот следующий код для создания этих файлов из данных Base64, которые загружаются с использованием Rest API

var data = req.body.image;    //base64 image data
const bucket = storage.bucket(process.env.GCLOUD_STORAGE_BUCKET);   //decalre bucket
var blob = bucket.file('new_image.png');
writeScreenShot(blob, data);

blobStream.on('finish', () => {
    res.send("Success");
});


blobStream.end(req.file.buffer);

function writeScreenShot(blob, data) 
{
    var strm = blob.createWriteStream();
    strm.write(new Buffer(data, 'base64'));
    strm.end();
}

Вот как я реализовалпока что, но он возвращает изображение, которое говорит похоже, что мы не поддерживаем этот тип изображения в то время как расширение файла этого изображения png, кажется, что я создал это изображениенеправильно теперь пострадали метаданные этого. Заранее спасибо

...