У меня возникла проблема при попытке загрузить файл в Google Cloud Storage. Я получаю ошибку ENOENT: no such file or directory, stat 'file.extension'
. Моя текущая реализация выглядит следующим образом:
const { Storage } = require('@google-cloud/storage');
const storage = new Storage();
const bucketName = 'bucket-name';
exports.uploadFileGCP = async (file, anchorID) => {
const { filename, mimetype, encoding, createReadStream } = await file
await storage.bucket(bucketName).upload(filename, {
destination: `anchor/${anchorID}/` + filename,
predefinedAcl: 'publicRead',
metadata: {
cacheControl: 'no-cache'
},
});
console.log(`${filename} uploaded to ${bucketName}`)
}
Просматривая документацию, выясняется, что для filename
в части upload
требуется путь к файлу на локальном компьютере. Я не могу найти решение, в котором я могу загрузить файл без использования локального пути. Есть ли способ сделать это?
Это код для моего распознавателя GraphQL, через который проходит файл:
async function uploadFile(parent, args, ctx, info) {
const google = await uploadFileGCP(args.file, args.anchorID);
console.log(google)
...
}
Я чувствую, что упускаю что-то очевидное, но могу не совсем понимаю, что происходит. Спасибо за любую помощь по этому вопросу.