码迷,mamicode.com
首页 > 其他好文 > 详细

node请求下载接口时乱码

时间:2018-01-05 10:27:11      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:没有   原因   pos   直接   定向   ensp   pre   mount   redirect   

先说下问题

之前做的一个项目,三端同时开发(PC、WEB、APP),由于架构方面的原因,服务均不对外开放,接口地址自然也就不对外暴露了,所有请求都要经过node转发,此为背景。。。。

网站有个扫描二维码下载APP的功能,二维码对应的地址并不是一个静态文件地址,而是一个API接口,后台做了一些逻辑(比如统计下载次数),之后再返回apk文件由浏览器进行下载,但是问题出现了,在地址栏直接输入地址时是可以下载的,但是经过node转发之后,显示到页面上的都是乱码,并且没有下载,分析了下原因:

由于二维码对应的并不是一个静态文件地址,需要请求后台接口,再由后台进行逻辑处理,而node转发接口之后是直接返回页面的,而此时返回的却是apk文件,所以就乱码了,最后解决办法是在转发之后做了一下重定向,再次去访问这个API地址,效果就跟在地址栏输入是一样的了。

附上代码:

router.get(‘/version/apk‘, function (req, res) {
    var url = urlMap.englishlistenspeakserver + ‘/version/increaseDownloadAmountForAndroid‘;
    res.redirect(302, url);
});

 

node请求下载接口时乱码

标签:没有   原因   pos   直接   定向   ensp   pre   mount   redirect   

原文地址:https://www.cnblogs.com/kakayang/p/8202660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!