Js: Kako uploadati externi file na BackBlaze?

Kako bi mogao uploadat vanjeki file (sa nekog url-a) na file storage (u ovom slučaju to je BackBlaze)?

Kada pokušam sa “fs.readFileSync(filePath)” uploadovati file sa mog lokalnog diska, onda sve radi OK

ali htjeo bih uploadovati file, kao npr. “https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4

Dali postoji način da file sa url-a uploadiram direktno na BackBlaze ili ga moram prvo downloadat, pa ga takvog uploadat na BackBlaze?

Evo primjer koda s kojim sam pokušavao to izvest, ali nisam uspio:

const B2 = require("backblaze-b2");
const fs = require("fs");
var request = require("request");

var filePath =
  "https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4";

const b2 = new B2({
  applicationKeyId: "XXXXXXXXXX", // or accountId: 'accountId'
  applicationKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", // or masterApplicationKey
});

async function GetBucket(form) {
  try {
    await b2.authorize(); // must authorize first (authorization lasts 24 hrs)
    let response = await b2.getBucket({ bucketName: "XXXXXXXXXX" });

    let uploadURL = await b2.getUploadUrl({
      bucketId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    });

    console.log("Upload URL: " + uploadURL.data.uploadUrl);
    console.log("Authorization Token: " + uploadURL.data.authorizationToken);

    //====================================//

    let uploadFile = b2
      .uploadFile({
        uploadUrl: uploadURL.data.uploadUrl,
        uploadAuthToken: uploadURL.data.authorizationToken,
        fileName: "test_1-5MG.mp4",
        contentLength: 0, // optional data length, will default to data.byteLength or data.length if not provided
        mime: "b2/x-auto", // optional mime type, will default to 'b2/x-auto' if not provided
        data: request(
          "https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4"
        )
          .pipe(fs.createWriteStream("5MG.mp4")) // OVO PREUZME FILE...
          .pipe(fs.readFileSync("5MG.mp4")), // OVAKO NE RADI...
        // data: fs.readFileSync(filePath), // OVAKO RADI...
        info: { name: "video-example", type: "video/mp4" },
        onUploadProgress: null,
      })
      .then((res) => {
        console.log("File is uploaded...");
      }); // returns promise
  } catch (err) {
    console.log("Error getting bucket:", err);
  }
}

const Bucket = GetBucket();

console.log("start...");