当前博客:请注意避坑:通用对话框多选文件时有惊喜

137 次浏览【转载需注明来源】

博客作者:【明靓】

个性签名:努力是为了以后不用努力

使用通用对话框.打开选择多个文件()时,当选择的是桌面快捷方式时,会自动选择成为快捷方式指向的实际文件,并将此文件所在的路径当作之后的所有文件的目录。例如我选择了桌面上的一批文件,第一个文件是快捷方式,第二个这后都是存放在桌面上的文件,结果就会以第一个选择的快捷方式所对应的那个文件所在的目录作为之后的所有文件的目录,真正存放在桌面的文件,路径就会变化了。

1.选择的桌面快捷方式和桌面上的文件
 

2.选择多文件的结果如下,第二个文件起,路径全是错误的了。
 

A13.png (42.89 KB, 下载次数: 0)

下载附件

3 分钟前 上传

 


请大家注意避坑!

默认排序
Generic placeholder image
利快云编程教育平台 Time: 2022-05-27 21:38:15

有点意思?  我来试试

Generic placeholder image
明靓 Time: 2022-05-27 23:59:20
显然这是API的问题,但是也可以通过封装修改一下,避免掉这个情况.

我的解决方案:先取当前文件路径备用,如果所选的文件为普通文件,取出文件名按正常方式拼接完整路径,存入返回数组中,如果是快捷方式,则解析快捷方式,找到对应的文件路径,存入数组,如此一来,就不会出现目前的这种问题了.

请注意避坑:通用对话框多选文件时有惊喜