我正在尝试使用Laravel项目中的technology (https://github.com/muaz-khan/RecordRTC)中的PHP示例。
有一个js函数:
function xhr(url, data, callback) {
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
callback(request.responseText);
}
};
request.open('POST', url);
request.send(data);
}调用以下功能:
function PostBlob(audioBlob, videoBlob, fileName) {
var formData = new FormData();
formData.append('filename', fileName);
formData.append('audio-blob', audioBlob);
formData.append('video-blob', videoBlob);
xhr('/upload/store', formData, function(ffmpeg_output) {
document.querySelector('h1').innerHTML = ffmpeg_output.replace(/\\n/g, '<br />');
preview.src = 'uploads/' + fileName + '-merged.webm';
preview.play();
preview.muted = false;
});
}其中的数据发送到save.php下载视频到服务器。
我使用的不是“存储”方式,而是添加到web.php中的文件:
Route::post('/upload/store', 'UploadController@store')->name('store');在一个控制器中,我按原则做了以下几点:
public function store(Request $request)
{
dd($request);
}但火狐在控制台中写道:
无效URI。媒体资源负载失败
请告诉我我在哪里犯的错?
发布于 2017-07-13 10:40:59
问题在于这行中的PostBlob函数,它使用了错误的URI:
xhr('save.php', formData, function(ffmpeg_output) {将save.php更改为/upload/store。
https://stackoverflow.com/questions/45078226
复制相似问题