我有一个方法,
Observable<String> uploadFile(File file);
然后我实现方法
Single<List<String>> uploadFile(List<file> files){
return Observable.fromIterable(files).flatMap(file -> upLoadFile(context, file))
.toList();
}
但
输入file1,file2,file3输出为List {file2,file1,file3}
如何以正确的顺序保存文件?
答案 0 :(得分:0)
如果要对平面地图的输出进行排序,请使用sorted()方法。
Observable.fromIterable(files)flatMap(file -> upLoadFile(context, file))
.sorted().toList();
答案 1 :(得分:0)
要保留observable的顺序,请使用concatMap而不是flatMap
if (IsPost)
{
photo1 = WebImage.GetImageFromRequest("image1");
newFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo1.FileName);
imagePath = @"branding\" + newFileName;
photo1.Save(@"~\" + imagePath);
photo2 = WebImage.GetImageFromRequest("image2");
newFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo2.FileName);
imagePath = @"branding\" + newFileName;
photo2.Save(@"~\" + imagePath);
photo3 = WebImage.GetImageFromRequest("image3");
newFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo3.FileName);
imagePath = @"branding\" + newFileName;
photo3.Save(@"~\" + imagePath);
}