Io uso Retrofit 1.6.0 sul mio progetto Android,Usa retrofit per scaricare il file immagine
richiesta url:
https://example.com/image/thumbs/filename/sample.png
mia interfaccia come questa:
public interface ImageService {
@GET("/image/thumbs/filename/{filename}")
@Streaming
void getThumbs(
@Path("filename") String filename,
Callback<Response> callback
);
}
HTTP la richiesta è andata a buon fine, ma si verificano alcuni errori
D/Retrofit(27613): ---> HTTP GET https://example.com/image/thumbs/filename/sample.png
D/Retrofit(27613): ---> END HTTP (no body)
D/Retrofit(27613): <--- HTTP 200 https://example.com/image/thumbs/filename/sample.png (451ms)
D/Retrofit(27613): : HTTP/1.1 200 OK
D/Retrofit(27613): Connection: Keep-Alive
D/Retrofit(27613): Content-Disposition: inline; filename="sample.png"
D/Retrofit(27613): Content-Type: image/png; charset=binary
D/Retrofit(27613): Date: Wed, 11 Jun 2014 06:02:31 GMT
D/Retrofit(27613): Keep-Alive: timeout=5, max=100
D/Retrofit(27613): OkHttp-Received-Millis: 1402466577134
D/Retrofit(27613): OkHttp-Response-Source: NETWORK 200
D/Retrofit(27613): OkHttp-Sent-Millis: 1402466577027
D/Retrofit(27613): Server: Apache/2.2.22 (Ubuntu)
D/Retrofit(27613): Transfer-Encoding: chunked
D/Retrofit(27613): X-Powered-By: PHP/5.4.28-1+deb.sury.org~precise+1
D/Retrofit(27613): ---- ERROR https://example.com/image/thumbs/filename/sample.png
D/Retrofit(27613): java.io.UnsupportedEncodingException: binary
D/Retrofit(27613): at java.nio.charset.Charset.forNameUEE(Charset.java:322)
D/Retrofit(27613): at java.lang.String.<init>(String.java:228)
D/Retrofit(27613): at retrofit.RestAdapter.logAndReplaceResponse(RestAdapter.java:478)
D/Retrofit(27613): at retrofit.RestAdapter.access$500(RestAdapter.java:109)
D/Retrofit(27613): at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:333)
D/Retrofit(27613): at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
D/Retrofit(27613): at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
D/Retrofit(27613): at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
D/Retrofit(27613): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
D/Retrofit(27613): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
D/Retrofit(27613): at retrofit.Platform$Android$2$1.run(Platform.java:142)
D/Retrofit(27613): at java.lang.Thread.run(Thread.java:841)
D/Retrofit(27613): Caused by: java.nio.charset.UnsupportedCharsetException: binary
D/Retrofit(27613): at java.nio.charset.Charset.forName(Charset.java:309)
D/Retrofit(27613): at java.nio.charset.Charset.forNameUEE(Charset.java:320)
D/Retrofit(27613): ... 11 more
D/Retrofit(27613): ---- END ERROR
Come posso risolvere questo problema?
forse guardare in http: //square.github.io/picasso/ che è una libreria di download di immagini creata anche da square. altrimenti dovresti cercare su TypedFile sul retrofit http://square.github.io/retrofit/javadoc/index.html – Aegis
Ho altre API che usano il retrofit, se è necessario caricare per visualizzare mayebe userò picasso, grazie per il tuo suggerimento ! –