Javascript:通过POST获取音频
我可能是从完全错误的角度来看这个问题的(如果是这样的话,请随时告诉我),但是 我有一个音乐应用程序,用户可以在其中上传音乐曲目,然后在以后预览 存储音频的目录受.htaccess保护,以防止未经授权的访问:Javascript:通过POST获取音频,javascript,.htaccess,Javascript,.htaccess,我可能是从完全错误的角度来看这个问题的(如果是这样的话,请随时告诉我),但是 我有一个音乐应用程序,用户可以在其中上传音乐曲目,然后在以后预览 存储音频的目录受.htaccess保护,以防止未经授权的访问: deny from all 保护此目录显然会阻止Javascript访问文件: var track = new Audio('path/to/file'); 我希望能够验证用户,然后通过另一个脚本返回曲目,方法是在页面请求中传递额外的信息(GET请求的数据太多) 这可能吗?如果你能想出一
deny from all
保护此目录显然会阻止Javascript访问文件:
var track = new Audio('path/to/file');
我希望能够验证用户,然后通过另一个脚本返回曲目,方法是在页面请求中传递额外的信息(GET请求的数据太多)
这可能吗?如果你能想出一个解决方案,我很想听听。为什么不通过一个php脚本来提供音频文件呢
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
}
这是绝对可能的,您可以指定您使用的是哪种后端技术吗?PHP。问题不在PHP端,而是请求文件时实际发送的post数据。如果是PHP,@Fabien解决方案有什么问题?我的身份验证数据太大,无法使用GETYep发送!看看这个:
<?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
}
var track = new Audio('get-audio.php?auth_token=12345&path=path/to/file');