动态添加文件到输入

问题描述 投票:0回答:4

我正在使用这个插件:jQuery HTML5 uploader(参见演示),在表单中。我想在用户提交表单时使用POST方法发送上传的文件。

也许我可以创建一个input[type="file"],使其隐藏,并动态添加插件内输入的上传文件?有可能的?


所以,如果我不能这样做,只有当用户点击提交按钮时,如何使用此插件将文件上传到服务器?我知道这个插件已经用AJAX做了,但我想只在用户点击按钮时上传它们。

也许我应该创建一个名为files的变量,当用户点击提交按钮时,我自己使用AJAX发送文件和其余的输入数据?

像这样的东西:

jQuery( "#dropbox" ).html5Uploader({
    onClientLoadStart: function( event, file ) {
        files[] = file;
        [...]
    }
});

[...]

jQuery("#button").on("click", function() {
    jQuery.ajax({
        data: files
    });
    [...]
});
javascript php jquery html5 jquery-html5uploader
4个回答
1
投票

出于安全原因,您不能这样做。想象一下可能性。我在隐藏字段中通过JavaScript输入文件。你按提交。我收到你的档案。任何文件。可怕,对吗?


0
投票

这个脚本已经将文件上传到服务器了。你需要的是一种从服务器上取回文件名/ id并将它们附加到隐藏表单的方法..比有人提交表单时你会知道他上传了哪些文件。 。

你通过听onSuccess事件来做到这一点..


0
投票

由于浏览器安全性,您无法在文件上传器中选择文件。

用户只能这样做而不是脚本。


0
投票

出于安全原因,您无法动态更改文件类型的输入字段的值。如果可能,恶意用户可以将值设置为:“c:\ maliciousfile”并损害您的系统

© www.soinside.com 2019 - 2024. All rights reserved.