Closed luoyou592 closed 5 years ago
@luoyou592 更新了代码,可以参考新代码中的实现,解决 int 等数值型变成浮点型数据
请问下使用这个框架怎么下载和上传?
@mrcoderzou 真巧,正在实现中,后面会添加
@RuffianZhong 好的,期待中
@mrcoderzou 上传、下载的功能已实现。欢迎拍砖
@RuffianZhong 赞赞赞
@RuffianZhong 我在项目中需要上传多个文件,原先的okgo框架是用addFile(key,ArrayList
@mrcoderzou 可以的,我这里使用的是Map是一个集合,我设计的初衷是一个文件对应一个key。如果你想要实现一个key对应多个文件,那么你可以使用 IdentityHashMap(Java中key可以重复的Map集合) IdentityHashMap map=new IdentityHashMap(); map.put("icon","file1"); map.put("icon","file2"); map.put("icon","file3");
@RuffianZhong 好的,我试下,谢谢了
@RuffianZhong 刚试了下,好像还是不行,后台看到文件列表为空,看了下okgo的源码,和你的框架实现好像有点不一样,不知道 是不是这个导致的。okgo是先new 一个MultipartBody.Builder,然后遍历文件列表,然后把每个file生成一个RequestBody,然后通过addFormDataPart添加到前面new的MultipartBody.Builder里面,最终生成一个RequestBody;你的框架是遍历文件,把问个文件包装成MultipartBody.Part,然后把每个part装入到list,通过upload方法发送出去。
@mrcoderzou 我亲测可行的呀,后台获取文件的时候根据key遍历是可以得到多个文件的
@RuffianZhong 我这边试了不行的,不知道啥原因,不过还是感谢你的回答,因为项目紧,这个上传多个文件的我还是保留原来的okgo框架实现,其他不用上传文件的就用你的框架实现,后面看有没有时间再看看这个。
@mrcoderzou 用OKGO可以用RHttp不行?632835821 有空的话加下我QQ,探讨一下哪里出问题了
我的也是不行哈,不过后台没强制用一个字段,我就用了时间戳
@luoyou592 使用不同的key就可以上传多个文件,用同一个key就不能上传多个文件是吗?
@RuffianZhong 不知道跟后台接收方式是否有关,我们这边后台接收用的是框架(@RequestParam(value = "file", required = false) List
@luoyou592 @mrcoderzou
久等了,我详细测试过了,后端用什么方式接收都可以的。
是 IdentityHashMap 特性的问题,key要使用对象模式:
IdentityHashMap map = new IdentityHashMap();
map.put(new String("key"), "file1");
map.put(new String("key"), "file2");
map.put(new String("key"), "file3");
不能使用
IdentityHashMap map = new IdentityHashMap();
map.put(“key”, "file1");
map.put(“key”, "file2");
map.put(“key”, "file3");
鉴于这个Map大家都不是很熟悉,也为了方便,我添加了一个新的接口:
一个key对应多个文件: file(String key, List
劳烦试试,如果有什么问题可以反馈给我
@RuffianZhong 兄弟你改了哪些类?我直接把RHttp这Api这两个类复制过来可以么?
@RuffianZhong 改了下,还是不行,我特意上传了一个视频文件,但是调用接口基本是秒完成了,感觉文件没有上传,但是其他参数后台可以看到
@mrcoderzou 给我你的QQ?详细了解一下,我这边测试了很多次,后台也是我自己写的,都是可以保证的
我把GsonConverterFactory换成ScalarsConverterFactory会报错,而且还发现了你封装的解析出现int和double统一解析成后缀变为.0