根据下载私有文件的指南生成私有文件链接,发现文件名是中文的话生成的private_url用chrome会出现
{"error":"download token auth failed"}
的响应(对比英文文件名是正常的)。
阿神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轉義的,參考上面的文檔的最後面的說明。
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了
因為這個問題發現的時間比較久了,所以記得不是很清楚,反正基本就是這樣,確認你文件名不包括中文,就不會發生此問題
PHP中文网2017-04-17 13:51:00
除了樓上的答案其實還有其他可能性,之所以點進了這個貼是因為我遇到了跟樓主一樣的問題,但我查看了一下我的文件並沒有中文,反而,有一個空格,我把空格拿掉後,就沒事了,在此留言,讓後輩少進坑把