- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试跟踪上传进度。我可以在下载时通过简单地添加 ProgressListener
来做到这一点。到NetworkManager
但是当上传并做同样的事情时,我只收到 1 个最终上传大小的回调
我在代码中看到有一些处理网络事件类型的私有(private)方法ConnectionRequest
好像有一个public
设置请求类型的方法setWriteRequest
我正在使用简洁的 RequestBuilder
默认情况下设置 setWriteRequest
的值至true
只要有一个 body (有)
所以我真的不知道为什么上传大小只返回 1 个回调。我错过了什么吗?
我的最终代码看起来像这样
ActionListener<NetworkEvent> progressListener = new ActionListener<NetworkEvent>(){
@Override
public void actionPerformed(NetworkEvent evt) {
int getSentReceived = evt.getSentReceived();//this only gets total size, no partial upload progress received
}
};
NetworkManager.getInstance().addProgressListener(progressListener);
RequestBuilder req = Rest.post(url).body(body).header("Content-Type", "application/json").fetchAsJsonMap(resp -> {
NetworkManager.getInstance().removeProgressListener(progressListener);
});
编辑:我已经在模拟器、Android 和 iOS 上仔细检查了这种行为
最佳答案
这已经很久没有正常工作了:https://github.com/codenameone/CodenameOne/issues/3043
还有这个:https://github.com/codenameone/CodenameOne/issues/2087
问题的症结在于上传不像下载那样工作。下载时,我们向文件发出请求并将其取回。 Upload 将流写入请求的正文,然后提交该请求。因此,将流写入正文很快(并显示进度),但是对于我们来说,提交是原子的,所以我们无法监控它。
唯一真正的解决方法是避免分段上传或将您的上传分成更小的独立部分。您可以使用提供较低级别可跟踪 API 的 websocket。
关于codenameone - 使用 RequestBuilder 跟踪上传进度的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63433699/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!