簡體   English   中英

如何從客戶端上傳基於 URL 的 mp3 文件到節點服務器

[英]How to upload URL-based mp3 file from the client to the node server

我正在嘗試使用 fetch 將 mp3 文件上傳到節點服務器。

下面的代碼是正確的方法嗎?

 var song;
  toDataUrl('http://s5.qhres.com/static/465f1f953f1e6ff2.mp3', function(myBase64) {
    // console.log(myBase64); // myBase64 is the base64 string
    song = myBase64;
});

  fetch("/ffmpegserver/upload", {
    method: 'PUT',
    headers: { 'Accept': 'audio/mpeg', 'Content-Type': 'audio/mpeg' },
    body: song
  })
    .then(response => {
      console.log("Got response after uploading song:", response);
    })
    .catch(error => {
      console.log("Error in Firebase AC upload song: ", error);
    });
}

如果是這樣,我如何接收它並將文件作為 mp3 寫入節點服務器?

app.put("/ffmpegserver/upload", (req, res) => {
  var mp3SongName = "output/test.mp3";
  var mp3_file = fs.createWriteStream(mp3SongName);
// how to write the mp3 file?
}

此代碼需要客戶端上的某些內容將音頻傳輸到緩沖區中,然后將該緩沖區發送到節點服務器。

相反,我認為最好的選擇是將 mp3 文件的 url 發送到節點后端,然后使用像 axios 這樣的庫來下載 mp3 文件並以某種方式保留它。

暫無
暫無

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

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