我有一个Angular 4应用程序,允许用户选择多个文件进行上传。如果选择的文件超过20个,当您选择少于20个时,文档名称将变为空白(请参见屏幕截图),突出显示的部分看起来很好并且已填充。
我首先想到的是文件名。文件名看起来是UUID,在一定长度后它们不再出现,但是我不知道从哪里开始。然后我认为它可能是文件大小,但文件的大小可以忽略不计。 (你可以看到屏幕截图中的尺寸。很高兴告诉客户导致问题的原因是给他们一些指导。
我确实确认所有文件都在同一个文件夹中。
有人遇到过这个问题吗?是什么导致了这个问题以及解决方案可能是什么?
答案 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显然在进行相当简单的检查(例如字符串比较),以查看所选文件是否在同一目录中。
这似乎与使用本机“打开文件”对话框的任何应用程序都可以重现。