簡體   English   中英

Javascript:通過POST獲取音頻

[英]Javascript: getting Audio via POST

我可能會從完全錯誤的角度來看這個(如果是這種情況那么請隨時告訴我)但......

我有一個音樂應用程序,用戶可以在其中上傳音樂曲目,然后再預覽它。

存儲音頻的目錄受.htaccess保護,以防止未經授權的訪問:

deny from all

保護此目錄顯然會阻止Javascript訪問文件:

var track = new Audio('path/to/file');

我希望能夠驗證用戶,然后通過傳遞頁面請求的額外信息(GET請求的數據太多),通過另一個腳本返回軌道。

var track = new Audio('path/to/script/to/return/audio');

這可能嗎? 如果你能想到一個解決方案,我很想知道它並不是這樣。

為什么不通過php腳本提供音頻文件

  1. 檢查用戶憑據和
  2. 使用正確的Mime類型流式傳輸數據?

喜歡的東西(靈感來自磁盤上php輸出文件到瀏覽器 SO問題)

get-audio.php文件中

<?php 
// check user credentials
if($_GET['auth_token'] != '12345') exit;

// read the audio file
$name = $_GET['path'];
if (file_exists($name)) {

    // send the right headers
    header("Content-Type: audio/mp3");
    header("Content-Length: " . filesize($name));

    // dump the file and stop the script
    readfile($name)
    exit
}

然后,在javascript中:

var track = new Audio('get-audio.php?auth_token=12345&path=path/to/file');

暫無
暫無

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

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