0

试过SDK的BucketManager.fetch()和使用retrofit提交post请求,都没有收到任何回调

//使用SDK的BucketManager,看源码这里是同步请求,但是一直没有返回
val bm = BucketManager(Auth.create(AK, SK))
bm.fetch(wxresult.headimgurl, BUCKET_NAME)
//使用retrofit生成post请求,也没有返回
fun fetchImageToQiniu(from: String, too: String) : Observable<QiniuFetchBean>{
        val f = Base64.encodeToString(from.toByteArray(Charset.forName("utf8")), Base64.URL_SAFE)
        val t = Base64.encodeToString(too.toByteArray(Charset.forName("utf8")), Base64.URL_SAFE)
        val auth = Auth.create(AK, SK).uploadToken(BUCKET_NAME)
        logd("from: $f ${String(Base64.decode(f, Base64.URL_SAFE))}")
        logd("to: $t ${String(Base64.decode(t, Base64.URL_SAFE))}")
        logd("auth: $auth")
        return mApi.fetchImageToQiniu(f, t, "QBox $auth")
}
interface Api{
    @POST("https://iovip.qbox.me/fetch/{from}/to/{too}")
    @FormUrlEncoded
    fun fetchImageToQiniu(@Path("from") from : String,
                      @Path("too") too: String,
                      @Header("Authorization") auth: String):Observable<QiniuFetchBean>
}

在Chrome中使用postman插件模拟post请求,from、to、token都是一分钟内Android端输出的,一直都是error token

1个回答

0

使用的事 retrofit吗?

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.github.com/")
    .build();

baseUrl一般不写在注解里面 (https://iovip.qbox.me/)。

撰写答案