Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将输入控件的文件列表设置为以前选择的文件列表_Javascript_Html_Input_Filelist - Fatal编程技术网

Javascript 将输入控件的文件列表设置为以前选择的文件列表

Javascript 将输入控件的文件列表设置为以前选择的文件列表,javascript,html,input,filelist,Javascript,Html,Input,Filelist,在我的web应用程序中,用户通过输入type='file'选择本地图像。该应用程序有多个“画笔”,对于每个画笔,用户可以选择一组不同的本地图像作为画笔的“画笔”。如果可能的话,我只想使用一个输入type='file',当给定的画笔X是可编辑画笔时,每次只有一个画笔是可编辑的,我想刷新输入,使其文件列表是可编辑画笔的文件列表,而不仅仅是最近选择的一组文件。我认为这是不可能的。是吗?这是不可能的,因为能够设置默认目录存在安全风险。您不希望网站访问您的文件系统。您无法以编程方式在输入控件上设置文件列表

在我的web应用程序中,用户通过输入type='file'选择本地图像。该应用程序有多个“画笔”,对于每个画笔,用户可以选择一组不同的本地图像作为画笔的“画笔”。如果可能的话,我只想使用一个输入type='file',当给定的画笔X是可编辑画笔时,每次只有一个画笔是可编辑的,我想刷新输入,使其文件列表是可编辑画笔的文件列表,而不仅仅是最近选择的一组文件。我认为这是不可能的。是吗?

这是不可能的,因为能够设置默认目录存在安全风险。您不希望网站访问您的文件系统。

您无法以编程方式在输入控件上设置文件列表,因为这意味着您可以读取或重新上载用户未手动选择的文件安全风险


也许你可以做的是在“我只想使用一个输入type='file'部分”上妥协。您可以拥有输入type='file'元素的数组,然后根据选择的笔刷显示/隐藏它们。这会产生在UI中显示不同的选定文件列表的错觉。

您能定义可编辑笔刷的文件列表吗?就像你想限制一个人可以从哪个文件夹上传文件一样?每个笔刷可能有不同的文件列表。输入将用于生成多个不同的文件列表;每刷一支。假设笔刷x当前是可编辑笔刷,一次只有一个笔刷是可编辑的。假设用户选择文件列表X。然后用户将画笔y设置为可编辑画笔,并选择文件列表y。然后用户将X设置为可编辑画笔。我希望能够将输入的文件列表设置为X。问题是这是否可行。谢谢,Jordan。是的,我希望这是我必须要做的。但是,我认为我应该能够将输入设置为以前有效选择的文件列表。我不是要求读取用户未手动选择的文件。在这类问题上,婴儿似乎总是和洗澡水一起被抛弃。即使是没有风险的场景也会被禁止。@JimAndrews我不太了解文件/文件列表API,但是允许您的建议可能会有暂时的安全风险。通过选择一些文件,用户表示我现在授予您的web应用程序读取这些文件内容的权限。如果文件在将来发生更改,web应用程序将无权查看其新内容。允许您设置输入元素的文件列表意味着您可以触发重新上传;但是既然你不能重新上传,为什么还要设置文件列表呢?听起来这只是为了让列表可见。@JimAndrews。。。因此,允许它可能不是一个实际的安全风险,而是一个可感知的风险,程序员可能会认为API允许他们做一些他们实际上不能做的事情来重新上传相同的文件。顺便说一句,我甚至不想上传这些文件,更不用说重新上传了。但是,在web技术中处理“安全风险”的方式,我们最终会受到偏袒应用程序开发而非web应用程序开发的残废控制,这些限制超越了合法风险,取缔了无害但非常有用的功能。