提问人:TheKingVaro 提问时间:7/19/2023 最后编辑:TheKingVaro 更新时间:7/19/2023 访问量:79
使用 Angular 以编程方式在文件输入中显示文件名
Show file names in file input programmatically with Angular
问:
晚安
我正在使用 Angular15 开发一个应用程序,其中一个功能是填充一个包含团队成员数据的表。
要添加成员,请单击一个按钮并显示一个模式窗口以填充数据并添加一些文件。要编辑,这是相同的操作。
我已经能够保存数据并将文件上传到服务器文件夹,但是在编辑时遇到了问题:在文件输入中,上传文件的名称没有出现,给人一种没有上传任何内容的印象,尽管它确实已经上传。
我将文档的名称存储在成员属性中,并使用 ngModel 将文件输入绑定到成员属性。
输入收到“未选择文件”消息,如果我尝试以编程方式设置输入上的文件名(我使用 ViewChild 和 ElementRef 在.ts上控制),则会出现以下错误:
core.js:1448 错误错误:未捕获(在 promise 中):InvalidStateError:无法在“HTMLInputElement”上设置“value”属性:此输入元素接受文件名,该文件名只能以编程方式设置为空字符串。错误:无法在“HTMLInputElement”上设置“value”属性:此输入元素接受文件名,该文件名只能以编程方式设置为空字符串。
由于它带来的安全风险,我无法执行此操作是完全合乎逻辑的,但我不想以编程方式插入文件,我只想显示名称,而不显示其内容。有什么办法吗?
谢谢。
答:
0赞
fujy
7/19/2023
#1
在 <input type=“file”中> Web 文档
您无法从脚本中设置文件选取器的值 - 执行如下操作不起作用:
const input = document.querySelector("input[type=file]");
input.value = "foo";
评论