我的情况是,当我使用 Ion 将 jpg 文件发布到 Android 中的 Sails 服务器时,它超时了。这是我的代码:
安卓:
Ion.with(ctx, URLConstant.getURL(URLConstant.URL_TYPE_UPLOAD_AVATAR))
.setMultipartFile("avatar", new File("assets/avatar.jpg"))
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
if (e != null) {
System.out.println("Upload file error.");
e.printStackTrace();
return;
}
System.out.println("Upload file done");
}
})
我的服务器代码是:
console.log(funcName + "Start to upload file");
req.file('avatar').upload({
maxBytes: sails.config.assetsConfig.maxBytes,
saveAs: user_id + '-' + sid.generate() + '.jpg',
dirname: sails.config.assetsConfig.uploadDir + '/avatar/'
}, function (err, uploadedFiles) {
console.log(funcName + "Upload done");
服务器可以与 POSTMAN 一起正常工作,但不能与 Ion 一起工作,记录“开始上传文件”但没有“上传完成”,最终我在客户端收到 TimeOutException,如下所示:
11-20 19:58:41.364: W/System.err(5165): java.util.concurrent.TimeoutException
11-20 19:58:41.364: W/System.err(5165): at com.koushikdutta.async.http.AsyncHttpClient$2.run(AsyncHttpClient.java:196)
11-20 19:58:41.364: W/System.err(5165): at com.koushikdutta.async.AsyncServer.lockAndRunQueue(AsyncServer.java:675)
11-20 19:58:41.364: W/System.err(5165): at com.koushikdutta.async.AsyncServer.runLoop(AsyncServer.java:692)
11-20 19:58:41.364: W/System.err(5165): at com.koushikdutta.async.AsyncServer.run(AsyncServer.java:600)
11-20 19:58:41.364: W/System.err(5165): at com.koushikdutta.async.AsyncServer.access$700(AsyncServer.java:37)
11-20 19:58:41.364: W/System.err(5165): at com.koushikdutta.async.AsyncServer$13.run(AsyncServer.java:549)
谁能给我一个线索。此致。