搜尋

首頁  >  問答  >  主體

python - 访问七牛下载链接出现{"error":"download token auth failed"}

根据下载私有文件的指南生成私有文件链接,发现文件名是中文的话生成的private_url用chrome会出现

{"error":"download token auth failed"}

的响应(对比英文文件名是正常的)。

PHP中文网PHP中文网2883 天前1009

全部回覆(4)我來回復

  • 阿神

    阿神2017-04-17 13:51:00

    七牛要求所有的鏈接,文件名必須都是UTF-8編碼的,所以看看你的代碼吧。

    Key必須採用utf-8編碼,使用非utf-8編碼的資源名稱存取時會報錯。

    http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html

    你在做中文的key的下載憑證的時候,key要做url轉義的,參考上面的文檔的最後面的說明。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 13:51:00

    你夠幸運,我遇過,告訴你吧

    chrome 尤其是mac系統上的(可能跟系統沒啥關係,跟瀏覽器種類也沒關係,反正有的電腦就是這樣)

    你是用utf-8編碼後的url 點擊連結後,瀏覽器會再轉一次,有的時候是全部轉成大寫,有的是全部小寫,

    例如原url=xxx.com/downfile/fileidHHHHHaaaaa.rar?e=&token=******
    會被自動轉碼成url=xxx.com/downfile/fileidHHHHHAAAAA.rar?e=&token=********

    注意小寫aaaaa變成了大寫AAAAA,也可能是原來大寫變成小寫的

    這只是舉例子,實際情況是對utf-8編碼後的中文部分進行轉碼

    自動轉碼可能說的不準確,但是不管看html裡面<a href="***aaa" aaa寫的是什麼,點擊打開就會發現瀏覽器打開的地址變成 AAA了

    因為這個問題發現的時間比較久了,所以記得不是很清楚,反正基本就是這樣,確認你文件名不包括中文,就不會發生此問題

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 13:51:00

    除了樓上的答案其實還有其他可能性,之所以點進了這個貼是因為我遇到了跟​​樓主一樣的問題,但我查看了一下我的文件並沒有中文,反而,有一個空格,我把空格拿掉後,就沒事了,在此留言,讓後輩少進坑把

    回覆
    0
  • PHPz

    PHPz2017-04-17 13:51:00

    我沒有中文,,沒有空格為什麼也提示這種問題

    回覆
    0
  • 取消回覆