ui路由器阻止重定向到服务器静态目录
uiRouter blocking redirect to server's static directory
我正在尝试编写一个上传 json 的序列,将其转换为 xml 和 returns 一个由浏览器直接保存到磁盘的文件。在我的工厂中 saveData
只是 returns 一个 $http 承诺,我的控制器有:
vm.saveFile = () ->
console.log "Saving to file"
Factory.saveData()
.success (res) ->
$location.url '/newfile.tcx'
我原本打算让我的 express 后端发送一个重定向,但是 angular $http 忽略了这个,所以现在在客户端实现了。如果我直接转到 http://localhost:9000/newfile.tcx
然后文件被下载(因为 /uploads
在 express 中被定义为静态目录),但是上面的 $location 重定向只 returns 我到主页,哪个可能是以下结果:
.config ($stateProvider, $urlRouterProvider, $locationProvider) ->
$urlRouterProvider
.otherwise '/'
我需要在我的 uirouter 配置中更改什么才能下载文件(然后重定向到 '/' or '/editor'
)
$location 服务改变了地址栏中的地址,但它并不要求浏览器加载位于该地址的资源。为此,只需使用本机 window.location 对象:
window.location = 'http://localhost:9000/newfile.tcx';
参见 https://developer.mozilla.org/en-US/docs/Web/API/window.location
我正在尝试编写一个上传 json 的序列,将其转换为 xml 和 returns 一个由浏览器直接保存到磁盘的文件。在我的工厂中 saveData
只是 returns 一个 $http 承诺,我的控制器有:
vm.saveFile = () ->
console.log "Saving to file"
Factory.saveData()
.success (res) ->
$location.url '/newfile.tcx'
我原本打算让我的 express 后端发送一个重定向,但是 angular $http 忽略了这个,所以现在在客户端实现了。如果我直接转到 http://localhost:9000/newfile.tcx
然后文件被下载(因为 /uploads
在 express 中被定义为静态目录),但是上面的 $location 重定向只 returns 我到主页,哪个可能是以下结果:
.config ($stateProvider, $urlRouterProvider, $locationProvider) ->
$urlRouterProvider
.otherwise '/'
我需要在我的 uirouter 配置中更改什么才能下载文件(然后重定向到 '/' or '/editor'
)
$location 服务改变了地址栏中的地址,但它并不要求浏览器加载位于该地址的资源。为此,只需使用本机 window.location 对象:
window.location = 'http://localhost:9000/newfile.tcx';
参见 https://developer.mozilla.org/en-US/docs/Web/API/window.location