【问题标题】:Programmatically trigger file browser in FineUploader在 FineUploader 中以编程方式触发文件浏览器
【发布时间】:2014-03-05 06:25:14
【问题描述】:

我正在使用FineUploader,我希望能够以编程方式触发文件浏览器。 我想像这样:

uploader.fineUploader('browseFiles');

不幸的是,我在互联网上找不到类似的东西。 想法?

编辑

按照建议尝试了以下操作,但未触发文件浏览器:( 问题似乎是这将调用开发人员定义的单击事件处理程序(在我的情况下,它不存在),而不是 FineUploader 定义的事件处理程序。

$('.qq-upload-button-selector').click();
$('.qq-upload-file-selector').click();
$('.qq-upload-filename-selector').click();
$('.qq-edit-filename-selector').click();
$('.qq-upload-file').click();
$('input[type="file"]').click();

【问题讨论】:

标签: fine-uploader


【解决方案1】:

$('input[name="qqfile"]').click();

输入文件控件初始化为默认名称“qqfile”。 您可以使用 Chrome DevTool 查看源代码或检查输入元素。 这是触发文件窗口的更简单方法。 相关源代码如下图所示。

【讨论】:

  • 你太棒了,它就像魅力一样,谢谢亲爱的:)
【解决方案2】:

没有可靠、有效且跨浏览器的方式来以编程方式启动文件浏览器对话框。在互联网上快速搜索以编程方式单击 input 元素表明这是真的:

Programmatically trigger "select file" dialog box

jQuery : simulating a click on a <input type="file" /> doesn't work in Firefox?

这是因为以编程方式打开文件浏览器风险极大,并为恶意网站打开大门,诱使用户在不知不觉中上传数据。

【讨论】:

  • 感谢您的回答。不幸的是,我认为我不能将这些应用到 FineUploader。我想知道 FineUploader 是否有特定的东西(似乎应该有,不是吗?)。再次感谢
  • 这个答案的重点是,由于特定于浏览器的限制,没有办法可靠地做到这一点,如果这是一个要求,你应该重新考虑你的设计。
【解决方案3】:
$('input[type="file"]').click();

在我的 web 上运行良好,上传器很好(用 IE、Chrome 和 Firefox 测试)。

【讨论】:

    猜你喜欢
    • 2017-05-08
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多