获取“只有当它们都位于同一文件夹中时才能选择多个项目”错误

时间:2018-05-21 16:09:29

标签: windows angular internet-explorer filesystems

我有一个Angular 4应用程序,允许用户选择多个文件进行上传。如果选择的文件超过20个,当您选择少于20个时,文档名称将变为空白(请参见屏幕截图),突出显示的部分看起来很好并且已填充。

我首先想到的是文件名。文件名看起来是UUID,在一定长度后它们不再出现,但是我不知道从哪里开始。然后我认为它可能是文件大小,但文件的大小可以忽略不计。 (你可以看到屏幕截图中的尺寸。很高兴告诉客户导致问题的原因是给他们一些指导。

我确实确认所有文件都在同一个文件夹中。

有人遇到过这个问题吗?是什么导致了这个问题以及解决方案可能是什么?

enter image description here

2 个答案:

答案 0 :(得分:0)

确保配置中没有或文件计数限制很高。

例如,“angular4-files-upload”你可以在components.ts文件中创建一个文件限制,如下所示:

import {
  Ng4FilesService,
  Ng4FilesConfig,
} from './ng4-files';

...

constructor(
      private ng4FilesService: Ng4FilesService
  ) {}

private testConfig: Ng4FilesConfig = {
    acceptExtensions: ['js', 'doc', 'mp4'],
    maxFilesCount: 5,
    maxFileSize: 5120000,
    totalFilesSize: 10120000
  };

ngOnInit() {
    this.ng4FilesService.addConfig(this.testConfig);
}

答案 1 :(得分:0)

我没有解决办法,但可能是原因。

我遇到一个问题,导致我的Java程序中出现相同的错误消息(尽管文件名不消失)。

根据我的发现,原因是Windows中良好的旧路径长度限制。 如果所选文件的路径太长,则Windows将使用\\?\(请参见https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation)作为路径的前缀。

现在,如果仅某些选定文件的路径超出限制,则仅某些文件将具有该前缀。所有文件不再具有相同的父路径! Windows显然在进行相当简单的检查(例如字符串比较),以查看所选文件是否在同一目录中。

这似乎与使用本机“打开文件”对话框的任何应用程序都可以重现。