这是我在stackoverflow上的第一篇文章。
我的情况是,当我用Android将一个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)
有人能给我一些线索吗?最好的问候。