Загрузить файл в Firebase Storage с помощью Admin SDK - PullRequest
0 голосов
/ 12 марта 2019

Согласно Документам , я должен передать имя файла функции, чтобы загрузить файл.

// Uploads a local file to the bucket
await storage.bucket(bucketName).upload(filename, {
  // Support for HTTP requests made with `Accept-Encoding: gzip`
  gzip: true,
  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',
  },
});

Я использую Firebase Admin SDK (Nodejs) в своем коде на стороне сервера, и клиенты отправляют файл в форме данных, которые я получаю в виде файловых объектов. Как тогда загрузить это, когда функция принимает только имя файла, ведущее к filepath.

Я хочу иметь возможность сделать что-то вроде этого


app.use(req: Request, res: Response) {
 const file = req.file;
// upload file to firebase storage using admin sdk
}

1 Ответ

0 голосов
/ 12 марта 2019

Поскольку Firebase Admin SDK просто упаковывает Cloud SDK, вы можете использовать документацию API-интерфейса Cloud Storage *1002* в качестве справки, чтобы посмотреть, на что он способен.

Вам не нужно предоставлять локальный файл. Вы также можете загрузить с помощью потоков узлов. Существует метод File.createWriteStream () , который позволяет вам работать с WritableStream. Существует также File.save () , который принимает несколько типов вещей, включая буфер. Есть примеры использования каждого метода здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...