将已编辑的文件(图像)数组发送到php脚本


sending array of edited array of files(images) to php script

我有一个表单,其中包含一个可以接受多个文件(图像)的类型文件的输入,如下所示:

  <input type="file" id="fileupload" name="fileupload[]" multiple   />

一旦用户选择了一个或多个图像,它们就会被动态添加到网站上,如果用户愿意,也可以删除其中的一个或全部

有没有一种方法可以更新从输入元素中选择哪些文件发送到php脚本?

如果没有,我如何只发送用户选择的图像?我的意思是,我可以用JavaScript将用户选择的内容放在另一个数组中,但我如何将它们发送到php脚本?

已编辑

详细信息例如,当用户选择三个图像文件时,我使用的JavaScript代码会将它们作为图像附加到屏幕中,用户可以通过单击它们来删除其中一个或全部。因此,我的问题是,例如,如果用户删除了其中一个图像,我如何才能只将另外两个图像发送到php脚本中?

我不是在寻找完整的代码。我只是在寻找如何实现它的提示。

我已经明白你想要什么了。

将Ajax与formData结合起来就可以实现这一点。

$(document).ready(function(){
    $("form#data").submit(function(){
        // create your filtred list of files from your file input
        var data = {};
        $.each($('#fileupload')[0].files, function(i, file) {
            // Keep only the files that the user has selected
            if ( i % 2 == 0){ // <--- CHANGE THIS
                data['file-'+i] = file;
            }
        });
        // create a FormData (to send files with AJAX)
        var formData = new FormData();
        for (var key in data) {
          formData.append(key, data[key]);
        }
        // send that formData
        php_script_url = "your_script.php"
        $.ajax({
            url: php_script_url,
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                console.log(data);
            },
            cache: false,
            contentType: false,
            processData: false
        });
        return false;
    });
});

不要忘记在此脚本之前包含jQuery

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>