Согласно официальной документации API - доступной здесь - показано, что вам не нужен await
. Это может когда-нибудь повлиять на вашу загрузку. Если вы хотите использовать await
, вам нужно, чтобы ваша функция была async
в объявлении, как показано во втором примере из документации. Ваш код должен выглядеть так.
const bucketName = 'Name of a bucket, e.g. my-bucket';
const filename = 'Local file to upload, e.g. ./local/path/to/file.txt';
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
async function uploadFile() {
// Uploads a local file to the bucket
await storage.bucket(bucketName).upload(filename, {
// Support for HTTP requests made with `Accept-Encoding: gzip`
gzip: true,
// By setting the option `destination`, you can change the name of the
// object you are uploading to a bucket.
metadata: {
// Enable long-lived HTTP caching headers
// Use only if the contents of the file will never change
// (If the contents will change, use cacheControl: 'no-cache')
cacheControl: 'public, max-age=31536000',
},
});
console.log(`${filename} uploaded to ${bucketName}.`);
}
uploadFile().catch(console.error);
Хотя это не проверено , это должно помочь вам избежать проблемы с загрузкой изображений не всегда.
Кроме того, как объясняется в официальной документации Editing Metada , вы можете изменить способ использования и управления метаданными, включая элемент управления кешем, в вашем проекте. Таким образом, вы также можете изменить конфигурацию кеша.
Я также хотел бы включить приведенную ниже ссылку для полного руководства о том, как отправлять изображения в облачное хранилище с помощью Node.js, если вы хотите попробуйте другой подход.
Сообщите мне, помогла ли вам эта информация!