簡體   English   中英

是否可以通過提供路徑將文件從 Electron 應用程序發送到 Express 服務器?

[英]Is it possible to send a file from Electron app to Express server by providing the path?

這就是我想要做的:

  1. 用戶將文件拖放到 Electron 中
  2. Electron 使用 python 腳本來轉換它(child_process.exec)
  3. 轉換在與原始文件相同的目錄中創建一個文件
  4. 由於我知道路徑(除了不同擴展名的原始文件),文件被上傳到服務器,服務器存儲它以備將來訪問。

我被困在第 4 步。無論我做什么,我似乎都無法檢索轉換后的文件。 這是我嘗試過的:

  let bodyFormData = new FormData();
  bodyFormData.append('model', createReadStream(filePath));

  axios({
    method: 'post',
    url: 'my/path',
    data: bodyFormData,
    headers: {
      'Content-Type': `multipart/form-data; boundary=${bodyFormData._boundary}`
    }
  })
    .then(function (response) {
      //handle success
      console.log(response);
    })
    .catch(function (response) {
      //handle error
      console.log(response);
    });

這就是 express 中 req 的樣子:

  body: { model: '[object Object]' },
  files: null,

我不知道這是否可能。 如果不是,我將不勝感激有關實現我正在嘗試做的事情的其他方法的任何建議。 我希望我的解釋足夠了,在此先感謝!

我設法自己修復了它。 首先,是的,只要您有適當的權限,就可以從文件系統中讀取文件。

我所做的就是在發送之前將文件流轉換為 blob 並且它起作用了。 我使用了這個名為 stream-to-blob 的很棒的 npm 包,它完美地完成了這項工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM