如何将重定向的网址用作<img/>,<audio>或<video>的来源?

时间:2018-02-14 20:02:42

标签: node.js html5 reactjs express react-router

我在AWS S3上托管了一些媒体文件。我想设置从我自己的网站到文件的重定向,并使用我自己网站的网址链接src作为媒体播放器,以便我可以更好地跟踪我的文件请求数量自己的网站。

换句话说,而不是使用

<audio style="width: 100%;" controls="controls">
<source src="https://s3.amazonaws.com/mybucket/audiofile.mp3“ />
</audio>

我想用

<audio style="width: 100%;" controls="controls">
<source src="https://my_own_website.com/tracks/audiofile.mp3“ />
</audio>

并指向https://s3.amazonaws.com/mybucket/audiofile.mp3并播放该文件。

我尝试过:

  1. 重定向我的前端(使用react和react-router)。我尝试设置一条重定向路线,如下所示:

    <Route exact={true} path="/tracks/:id" component={(props) => {
        const id = props.match.params.id;
        window.location.replace(`https://s3.amazonaws.com/soundwiseinc/soundcasts/${id}`);
    }} />
    
  2. 在我的后端重定向(使用node.js和express)。我尝试重定向如下:

    app.get(&#39; / tracks /:id&#39;,(request,response)=&gt; {   const path = String(request.path).slice(8);   console.log(&#39;路径:&#39;,路径);   response.redirect(200,https://s3.amazonaws.com/mybucket/${path}); });

  3. 但他们都没有奏效。 mp3不会播放。并且控制台错误表明源无效。

1 个答案:

答案 0 :(得分:1)

  1. 为ex:playmedia.php&amp;创建一个服务器端页面。将云文件名传递给该页面。

  2. 在页面中添加跟踪代码&amp;将分析数据保存到数据库。

  3. 使用playmedia.php中的Amazon S3 Stream Wrapper从S3流式播放MP3