在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ nodejs如何在跳轉(zhuǎn)到一個別的url之前給這個url加header?

nodejs如何在跳轉(zhuǎn)到一個別的url之前給這個url加header?

我想要實現(xiàn)打開一個鏈接的時候直接下載的功能,默認打開鏈接會自動瀏覽器打開預(yù)覽,請問nodejs可以在打開鏈接之前給該url加header嗎?

exports.download = async (ctx,next) => {
    ctx.type = 'application/octet-stream'
    ctx.set('Content-Disposition','attachment;filename=name')//加下載的頭
    ctx.redirect(ctx.request.query.path) //這個是準備要跳轉(zhuǎn)的鏈接
}

目前我用的重定向,是不會加這個頭的,
如果我把這個url用iframe形式寫在一個路由里,則下載下來的就是該iframe標簽的代碼。

回答
編輯回答
逗婦乳
  1. 解決問題的話,給<a>標簽加download屬性是最方便快捷無公害的;
  2. 重定向加了這個頭也沒用,Content-Type也沒用,瀏覽器只認最終跳轉(zhuǎn)目標的頭。跟node無關(guān),這是HTTP協(xié)議的鍋。其實很好理解,跳轉(zhuǎn)是可以跨域的,允許篡改請求頭的話安全問題很大;
  3. 一定要改頭的話,只能服務(wù)器代理;
  4. 不改頭又想跨域的話,先配好CORS,然后fetch得到Blob,然后URL.createObjectURL,然后塞給href
2017年9月29日 14:45