【发布时间】:2015-02-22 03:37:40
【问题描述】:
我是 android 改造的新手,需要使用多部分请求格式上传图像文件。 我能够使用 iphone 多部分请求成功上传。 但是,在进行 android 改造时遇到了麻烦。 我使用 https 和令牌持有者授权。
@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 连接有问题。在此处查看类似的 ssl 错误 code.google.com/p/android/issues/detail?id=65463
-
我尝试了其他 get/post json 请求,除了上传文件请求外,其他所有请求都有效,所以可能还有其他问题。我删除了 ssl 并使用了常规的 http 请求,仍然出现错误
-
嘿,你找到解决办法了吗?我面临同样的问题。 TIA
-
我服务器的路由器似乎有问题,这段代码在另一台服务器上运行。