java 上传速度计算_Java文件上传速度很慢

我已经构建了一个小型服务,它从

Android设备接收图像并将它们保存到Amazon S3 Bucket.代码很简单,但速度很慢.它是这样的:

public synchronized static Response postCommentPicture(Response response, Request request){

JsonObject ret = new JsonObject();

OutputStream outputStream;

String meepId = request.params(":id");

System.out.println("1");

if(meepId == null){

ret.addProperty("Error", "Missing meep id");

response.body(ret.getAsString());

return response;

}

try {

System.out.println("2");

//Chequeamos que vengan los datos del sender

Map urlData = Utils.splitQuery(request.queryString());

if(!urlData.containsKey("senderName") || !urlData.containsKey("senderId"))

throw new Exception("senderName or senderId missing");

System.out.println("3");

MultipartConfigElement multipartConfigElement = new MultipartConfigElement("/temp");

System.out.println("3.1");

request.raw().setAttribute("org.eclipse.jetty.multipartConfig", multipartConfigElement);

System.out.println("3.2");

Collection files = request.raw().getParts();

System.out.println("3.3");

if(files.size() == 0 || files.size() > 1){

throw new Exception("No files or more than 1 file detected");

}

//Rest of the code...

} catch (Exception e2){

System.out.println(e2.getMessage());

ret.addProperty("Error", e2.getMessage());

} finally {

response.body(ret.toString());

return response;

}

因此,您可以注意到,我在某些步骤上打印日志.代码顺利运行直到“3.2”,它开始从客户端设备传输文件.因此,完成传输需要一些时间,但是,一旦完成上传(我可以告诉使用Android Studio网络监视​​器),服务器在处理下一行并打印“3.3”之前需要3到4分钟.其余的代码也运行顺利,我终于可以获得响应客户端.

所以,我的问题是为什么request.raw().getParts()最多需要6分钟,即使上传完成也是如此.

最佳答案 听起来好像从Android端发送数据的应用程序在完成发送数据时没有关闭连接.

这将导致两端无效,直到其中一个读取超时触发.

您是自己在Android设备上编写代码,还是使用浏览器或某些第三方应用程序?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值