处理下载网址会导致404

时间:2017-10-05 10:33:13

标签: reactjs react-router react-router-v4

我有一个使用React和React-router v4的单页Web应用程序正在服务并从golang后端使用API​​。

问题是:客户端正在请求hostname:port/download/file_name形式的文件的下载链接,但是由于后端运行在相同的主机名:端口(静态服务),因此react-router正在处理下载链接为应用内导航,因此会产生前端的404

<Router>
    <Switch>
        <Route exact path='/' component={WelcomeScreen} />
        <Route path='/grades' component={LevelYearScreen} />
        <Route path='/grade/:gradeId' component={SubjectScreen} />
        <Route path='/subject-:subjectId/term-:termIndex' component={LessonSectionsScreen} />
        <Route path='*' component={NotFoundPage} />
    </Switch>
</Router>

提取网址后,我导航到网址以下载文件

window.location.href = response.fileUrl;

我还尝试使用<a href="fileUrl"/>和反应路由器<Redirect>似乎没有任何效果。如果将链接手动复制并粘贴到浏览器的地址栏,则会发生同样的情况。但是如果缓存中没有js包(例如私有窗口),则正常下载文件。

有没有办法排除&#34; / download&#34;来自react-router的路由?

0 个答案:

没有答案