我正在使用laravel 5.6和apache 2.4.33和php 7.2.4
例如,我在单独的laravel中创建了一个表单(a.com),该表单通过发布请求将ogg文件上传到服务器b.com,然后使用Storage::putFileAs
现在我想在a.com中加载和播放上载的ogg文件 但是当我尝试这个
<audio id="myAudio">
<source src="https://www.b.com/storage/file_name.ogg" type="audio/ogg">
</audio>
在控制台中它响应:
无法加载https://b.com/storage/file_name.ogg:所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ https://b.com”。
当我在新标签页中打开该文件的网址时,它会播放,但是当我在html或javascript中使用它时,
我的.htaccess文件是:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我之前也已经安装了barryvdh/laravel-cors
,当我打电话给a.com网站并从其获得请求时,效果很好