小编Mat*_*t.G的帖子

为什么 fs.createWriteStream 抛出“错误:ENOENT:没有这样的文件或目录”错误?

这是代码:

      const dest = fs.createWriteStream('./src/Pages/downloads/' + fileName + '.' + type)

      await drive.files.export({
        fileId: fileId, mimeType: newType}, 
        {responseType: 'stream'},
        function(err, response){
        if(err)return console.log(err);
        response.data.on('error', err => {
            console.log("Found at 911 " + err);
        })
        .pipe(dest, function(){console.log('file path written.')})
        .on('end', ()=>{
            console.log("sent file.")
        })
      });
Run Code Online (Sandbox Code Playgroud)

有几件事需要解释一下。

  1. 这是一个 post 请求,它从 google 云端硬盘文件中获取多个变量,例如名称、id 和 mimetype。这些是 WriteStream 请求中显示的“fileName”和“type”变量。它们已经是预定义的,而不是问题。因此,为了解决这个问题,假设变量类似于 var fileName = test、var type = pdf 和 var newType = "application/pdf"。
  2. drive.files.export 函数是对 Google Drive api 的异步调用,它查找具有“fileId”中注明的特定 ID 的文件/文件夹/项目并将其导出。我在这里试图实现的是将适合该特定 id 的文件导出到由 dest 定义的 WriteStream 中。 …

javascript asynchronous file fs node.js

7
推荐指数
1
解决办法
5684
查看次数

如何获取 fs.createWriteStream 并将其上传到 Gapi google Drive api 创建函数?

我有一个 Chrome 扩展程序,它从后端 Node.js 服务器获取文件信息,以便在扩展程序中提供 google 驱动器文件。在这个特定实例中,我遇到的问题是将后端保存的文件上传到前端的gapi客户端,该客户端允许用户将其上传到他们的谷歌驱动器。身份验证一切都很好,主要问题是上传。

这是我的代码。

背景.js(客户端):

  var parentFolder;
  var fileArray;
  let classroomUrl = 'https://connect.smartpathed.com/getclassroomparent';
  await fetch(classroomUrl)
  .then(response => response.text())
  .then(data => parentFolder = data)
  .then(data => console.log(parentFolder));
  let fileArrayUrl = "https://connect.smartpathed.com/getclassroomarrayselect";
  await fetch(fileArrayUrl)
  .then(response => response.json())
  .then(data => fileArray = data)
  .then(data => console.log(fileArray));
  function sleep(milliseconds) {
    const date = Date.now();
    let currentDate = null;
    do {
      currentDate = Date.now();
    } while (currentDate - date < milliseconds);
  }
  gapi.client.init({
    apiKey: API_KEY,
    discoveryDocs: DISCOVERY_DOCS,
  }).then(function() {
    chrome.identity.getAuthToken({interactive: true}, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js google-drive-api google-api-js-client

6
推荐指数
0
解决办法
347
查看次数