上傳 401 錯誤碼
一、報錯:{"error":"expired token"},{“error”:”token out of date”}
處理方法:
1、將token的有效期設置的長一些。對於比較大的文件,可以適當加長有效期(默認是3600秒)
2、看下自己的服務器時間是否是聯網時間。如果時間不准,導致簽名后的結果可能已經是過期的了
3、建議客戶每次上傳都重新請求一次上傳token。或者設置的時間長些
二、報錯:{"error":"bad token","reqid":"t1wAAHuwANZHl9YT","details":["UP:4/401"],"code":401}
處理方法:
1、密鑰(ak,sk復制黏貼有誤)信息不正確、數字簽名錯誤(簽名方法是自己寫的), 如果使用我們的sdk生成 的token出現的問題,把token給我們(七牛后台藍色小框:提交工單), 如果是自己寫的,請檢查token生成的 相關代碼
三、如果以上問題回答解決不了。只報了{"error":"bad token","reqid":"t1wAAHuwANZHl9YT","details":["UP:4/401"],"code":401}
處理方法:
提供下上傳token,上傳token由三部分組成(由冒號隔開),最后一段,用base64解碼,可以看到你的上傳策略中的參數,如果參數有問題也會報401
訪問縮略圖報 bad token 錯誤
訪問縮略圖報 bad token 錯誤
通過API獲取縮略圖,為何總是告訴我token錯誤?
七牛雲存儲的 bucket 分公開和私有兩種。bucket 在創建時默認為私有,需要簽發一個臨時有效的下載 token 來訪問其中的圖片或圖片的縮略圖。私有縮略圖訪問方式如下:
baseUrl = MakeBaseUrl(domain, key) // 其中domain是該bucket任意關聯的一個domain,key是訪問圖片(不是縮略圖)的鍵 imgview = ImageView{...} // 縮略圖類 thumbUrl = imgview.MakeRequest(baseUrl) // 得到縮略圖url(對於公開的bucket,到此為止就可以了) policy = GetPolicy{...} // 下載策略類 url = policy.MakeRequest(thumbUrl) // 得到臨時有效的縮略圖url(對於私有的bucket,需要用這個url訪問縮略圖)
各個語言的 SDK 通常都已包含這些方法,只需要調用即可(不含 android/ios sdk,因為私有 url 應該由服務器簽發並返回給客戶端,而客戶端無權生成)。有的 SDK 可能沒有包裝 ImageView 類,這沒關系,因為它只是簡單的字符串連接操作,只需仔細閱讀 數據處理(圖片篇) 文檔,很容易自己現實。
另外,還可以在七牛開發者后台為圖片縮略圖規格定義一個友好別名。