нет такого файла или каталога при загрузке файла из облачного хранилища Firebase с использованием облачных функций http - PullRequest
0 голосов
/ 20 февраля 2019

Я написал файл .txt в облачном хранилище Firebase и хочу скачать этот файл .txt и отправить его на другой сервер для проверки.Я пробовал так много способов загрузить этот файл, но я получаю сообщение об ошибке, например

"Error: ENOENT: no such file or directory, open '/Users/vijayasrivuddanti/Downloads/download.txt'
    at Error (native)
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/Users/vijayasrivuddanti/Downloads/download.txt'"

Это код, который я пробовал:

function writetofile(){
const storage = new Storage();
const  bucket = storage.bucket('deyapay-192704.appspot.com'); 
console.log("date",Date.now());
var datetime = new Date();
console.log("iso", new Date().toISOString().slice(0,10));
const file = bucket.file(new Date().toISOString().slice(0,10)+".txt"); // It create the file in the bucket in ascii format and save as today date format.
const a = new Date().toISOString().slice(0,10)+".ascii"
console.log("filename",a);
var storageRef = admin.storage().bucket();
const uploadStream = file.createWriteStream();
uploadStream.on('error', function(err) {
console.log("write err",err);
});
finalnachaformat.forEach(function(v) { // It takes the each value in 
                                       finalnachaformat in every loop.
    console.log("v",v)
    console.log("gii");
    uploadStream.write(v+ '\n'); // and write data into file.
    console.log("looping function",v);   
}) 
 console.log("successfully uploaded")
uploadStream.end();// writing end
//-
// Download a file into memory. The contents will be available as the second
// argument in the demonstration below, `contents`.
//-
file.download(function(err, contents) {});

//-
// Download a file to a local destination.
//-
file.download({
  destination: '/Users/vijayasrivuddanti/Downloads/download.txt'

}, function(err) {

    console.log("error",err);
});

//-
// If the callback is omitted, we'll return a Promise.
//-
file.download().then(function(data) {
  const contents = data[0];
  console.log("entred");
  res.send("ok");
});

Как решить эту ошибку?Есть ли способ загрузить этот файл из облачного хранилища и как получить URL-адрес хранимого файла в ответ на облачные функции.

1 Ответ

0 голосов
/ 20 февраля 2019

Вы пытаетесь загрузить файл в недоступную для записи (и не существующую) папку во время выполнения облачных функций.Нет такой папки как / Users.Это существует только на вашем собственном компьютере.Единственная доступная для записи папка в облачных функциях - os.tmpdir() или /tmp.

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