4
我是android新手,需要使用多部分請求格式上傳圖像文件。 我能夠使用iPhone多部分請求成功上傳。 但是,安卓系統改造時遇到了麻煩。 我使用https和令牌承載者授權。Android Retrofit上傳圖像文件使用多部分請求
@Multipart
@POST("/Api/ApiSales/UploadImages")
void uploadImage(@Part("File") TypedFile file,
Callback<Response> callback);
RestAdapter.Builder builder = new RestAdapter.Builder().setEndpoint(appController.getInstance().getURL());
builder.setRequestInterceptor(new RequestInterceptor() {
@Override
public void intercept(RequestFacade request) {
request.addHeader("Authorization", appController.getInstance().getAuthTokenString());
}
});
builder.setLogLevel(RestAdapter.LogLevel.FULL);
RestAdapter restAdapter = builder.build();
RetrofitService service = restAdapter.create(RetrofitService.class);
service.uploadImage(new TypedFile("image/png",toFile), new Callback<retrofit.client.Response>() {
@Override
public void success(retrofit.client.Response response, retrofit.client.Response response2) {
Log.i(TAG, response.toString());
}
@Override
public void failure(RetrofitError error) {
Log.e(TAG, error.toString());
}
});
我得到了以下錯誤:
retrofit.RetrofitError: Write error: ssl=0x5ef8ad40: I/O error during system call, Connection reset by peer
我設立了服務器的HTTP請求,仍然得到了錯誤:
retrofit.RetrofitError: sendto failed: ECONNRESET (Connection reset by peer)
某處有問題,SSL連接。看到這裏https://code.google.com/p/android/issues/detail?id=65463 –
我試過其他GET/POST請求的JSON類似SSL錯誤,所有的工作除了上傳文件的要求,所以也許別的東西是錯誤的。我刪除了ssl並使用了常規的http請求,仍然有錯誤 –
嘿,你找到了解決辦法嗎?我面臨同樣的問題。 TIA – Abhinav