Javascript 我可以将保存文件的输入标记放到可拖放区域吗?

Javascript 我可以将保存文件的输入标记放到可拖放区域吗?,javascript,drag-and-drop,draggable,sahi,Javascript,Drag And Drop,Draggable,Sahi,我正在使用Sahi进行一些前端测试,它的内置方法_setFile和_setFile2对于站点使用的文件上传方法来说不够灵活。出于这个原因,我想知道是否可以将输入元素添加到浏览器并附加文件元素,然后执行拖放(通过Sahi)以将文件元素传递到可拖放区域。是否有人知道是否可以将文件从一个浏览器输入标记拖动到另一个浏览器输入标记(或其他可行的方法)?您可以移动填充的文件输入,但无法填充输入(afaik)单独使用代码。通过“移动”,它会将任何附加文件应用到可拖放区域?您可以找到页面使用的文件dnd dro

我正在使用Sahi进行一些前端测试,它的内置方法_setFile和_setFile2对于站点使用的文件上传方法来说不够灵活。出于这个原因,我想知道是否可以将输入元素添加到浏览器并附加文件元素,然后执行拖放(通过Sahi)以将文件元素传递到可拖放区域。是否有人知道是否可以将文件从一个浏览器输入标记拖动到另一个浏览器输入标记(或其他可行的方法)?

您可以移动填充的文件输入,但无法填充输入(afaik)单独使用代码。通过“移动”,它会将任何附加文件应用到可拖放区域?您可以找到页面使用的文件dnd drop handler函数,并直接与这些函数对话,而不是依赖绑定事件。如果存在隐藏特定方法的闭包,这可能不容易或不可能实现,但您可以从定义它们的js文件中复制一两个块,并修改它们以接受blob作为参数而不是事件属性。我们的想法是截取文件删除和ajax上传之间的部分,并使用您的代码使用Blob()s或FormData()直接与上传部分对话,以欺骗用户提供的file()对象。是的,这就是我目前采用的方法。我重写了htmldevelment的addEventListener属性,以便截获在闭包中分配的事件侦听器,但这似乎是一种黑客方法。我可能会用叉子把听众暴露出来。。。