Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Jquery-文件上传会一次又一次地上传相同的文件_Jquery_Html_File Upload_Jquery File Upload_Multifile Uploader - Fatal编程技术网

Jquery-文件上传会一次又一次地上传相同的文件

Jquery-文件上传会一次又一次地上传相同的文件,jquery,html,file-upload,jquery-file-upload,multifile-uploader,Jquery,Html,File Upload,Jquery File Upload,Multifile Uploader,问题场景 我上传了一个供应商模式的文件,文件上传的很好。现在我从customer modal上传文件(两个modal都在同一个页面中),最近上传的文件(我在供应商模型中上传的文件)被重新上传。我尝试在客户模型中上传另一个文件,再次上传相同的文件(感觉就像我一次又一次地上传相同的文件,除非我没有这样做) MyJs文件代码 /** * Upload an Attachment to server */ $(document).on('change','#atta_file

问题场景

我上传了一个供应商模式的文件,文件上传的很好。现在我从customer modal上传文件(两个modal都在同一个页面中),最近上传的文件(我在供应商模型中上传的文件)被重新上传。我尝试在客户模型中上传另一个文件,再次上传相同的文件(感觉就像我一次又一次地上传相同的文件,除非我没有这样做)

MyJs文件代码

/**
     * Upload an Attachment to server
     */
    $(document).on('change','#atta_file_names_d , #rec_atta_file_names_d',function()
    {
        var elm = $(this);
        var attach_each_id = '';
        var actual_file_name_idetify = '';
        var attached_file_idetify = '';
        var apend_checkbox = '';
        var apendCheckbox='';
        if($(this).is("#rec_atta_file_names_d"))
        {
            attached_file_idetify = 'rec_attached_file';
            actual_file_name_idetify = 'rec_actual_file_name';
            attach_each_id = 'rec_atta_file_names_d'
            form_id = $('#rec_atta_file_names_d').parents().find('form').attr('id');
        }
        else
        {
            attached_file_idetify = 'attached_file';
            actual_file_name_idetify = 'actual_file_name';
            attach_each_id = 'atta_file_names_d'
            form_id = $('#atta_file_names_d').parents().find('form').attr('id');
        }

        //add checkbox in the attached image
        if($(this).hasClass("checkbox-img-d"))
        {
            apend_checkbox = 1;
        }


        var forma = $('#'+form_id)[0];
        var formd = new FormData(forma);


        // directory_upload_path = $('.directory-path-d').val();
        directory_upload_path = $(this).parents('form').find('.directory-path-d').val();
        $.each($('#'+attach_each_id).prop('files'), function(k,v)
        {
            formd.append("atta_file_names_d[]",  $('#'+attach_each_id).prop('files')[k]);
        });
        formd.append("path",  directory_upload_path);

        var formdata = false;

        $.ajax
        (
            {
                url: baseUrl+'upload-attachment',
                type: "POST",
                data:  formd,
                contentType: false,
                cache: false,
                processData:false,
                beforeSend : function()
                {
                    $('#'+form_id).find('.progress-bar-load-d').show();
                },
                success: function(res)
                {
                    validateLogin(res);

                    res = JSON.parse(res);
                    //console.log(res.success.length);
                    for(i=0; i < res.success.length; i++)
                    {
                        modified_file_name = res.success[i].success.file_name;

                        actual_file_name = res.success[i].file_name;
                        file_size = res.success[i].success.file_size;

                        if(apend_checkbox)
                        {
                            apendCheckbox = '<div class="chiller_cb"><input name="attachments" id="vat_2'+i+'" class="attach-checkbox-d" value="'+modified_file_name+'" type="checkbox"><label for="vat_2'+i+'">&nbsp;</label><span></span></div><span class="attach-email-s">Attach to email</span>';
                        }

                        append_uploaded_doc = '<div style="display: flex; align-items: center;padding: 0px 0px 0px 20px; height: 25px;">'+ apendCheckbox +'<a href="' + baseUrl + directory_upload_path + modified_file_name+'" target="_blank" class="attachment-a-s" style="font-size:13px; margin: 0px 5px 0px 20px;word-break: break-word; float: left;">' +actual_file_name +'</a><span class="file-size-s">('+file_size+')</span><a href="javascript:void(0)" class="atta-file-s" style="float: left;margin-right: 5px;"><img src=" '+ baseUrl + 'public/admin/images/attach_cross.png" /></a><input type="hidden" name="attached_file" class="'+attached_file_idetify+'" value="'+modified_file_name+'" /><input type="hidden" name="actual_file_name" class="'+actual_file_name_idetify+'" value="'+actual_file_name+'" /></div>';

                        if(attach_each_id == 'atta_file_names_d')
                        {

                            $(elm).parents('form').find('.file-content-d').append(append_uploaded_doc);
                        }
                        else
                        {
                            $(elm).parents('form').find('.rec-file-content-d').append(append_uploaded_doc);
                        }

                    }
                },
                error: function(e)
                {
                },
                complete: function (data)
                {
                    $('#'+form_id).find('.progress-bar-load-d').hide();
                }
            }
        );
        //readURL(this);
    });
/**
*将附件上载到服务器
*/
$(document).on('change','#atta_file_names_d,#rec_atta_file_names_d',function()
{
var elm=$(本);
var attach_each_id='';
var实际文件名标识=“”;
var随附文件标识=“”;
var apend_复选框=“”;
var apendCheckbox='';
if($(this).is(“#rec_atta_file_names_d”))
{
附件标识='rec_attached_file';
实际文件名识别='rec_实际文件名';
attach_each_id='rec_atta_file_name_d'
form_id=$('rec_atta_file_names_d').parents().find('form').attr('id');
}
其他的
{
附件标识='附件';
实际文件名识别='实际文件名';
attach_each_id='atta_file_name_d'
form#id=$('#atta#u file_names_d').parents().find('form').attr('id');
}
//在附加图像中添加复选框
if($(this).hasClass(“checkbox-img-d”))
{
apend_复选框=1;
}
var forma=$(“#”+form_id)[0];
var formd=新的FormData(forma);
//目录上传路径=$('.directory-path-d').val();
directory_upload_path=$(this).parents('form').find('.directory-path-d').val();
$.each($('#'+附加每个id).prop('files'),函数(k,v)
{
formd.append(“atta_file_names_d[]”,$(“#”+attach_each_id).prop('files')[k]);
});
formd.append(“路径”,目录\上传\路径);
var formdata=false;
$.ajax
(
{
url:baseUrl+“上传附件”,
类型:“POST”,
数据:formd,
contentType:false,
cache:false,
processData:false,
beforeSend:function()
{
$(“#”+form_id).find(“.progress-bar-load-d”).show();
},
成功:功能(res)
{
验证洛金(res);
res=JSON.parse(res);
//console.log(res.success.length);
对于(i=0;i
我的供应商HTML代码

<div class="col-sm-12 p0">
                            <div class="form-group">
                                <div class="file-upload p0_res vendor_pad_zero">
                                    <div class="col-sm-12 p0">
                                        <button class="file-upload-btn pull-left" id="button">
                                            <label><i class="fa fa-fw fa-paperclip"></i> Attachments </label>
                                            <span class="maxsize_file">Maxmimum size 300 KB</span>
                                        </button>
                                    </div>
                                    <div class="clear5"></div>
                                    <input type="hidden" class="directory-path-d" name="dir_path" value="uploads/vendor/">
                                    <div class="image-upload-wrap image_upload_vendor_wrappp img-drag-detuct-d">
                                        <div class="file-content-d">
                                                                                    </div>
                                        <input id="atta_file_names_d" type="file" name="atta_file_names_d" class="file-upload-input" multiple="multiple" style="width:100%;">
                                        <div class="drag-text drag_vendor_texttt">
                                            <h3>Drag and drop a file here</h3>
                                        </div>
                                        <svg class="svg-progress-bar-30-right progress-bar-load-d hide-d" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><circle class="path-progress-bar" stroke-width="10" stroke-miterlimit="10" cx="100" cy="100" r="94"></circle></svg>
                                    </div>
                                </div>
                            </div>
                        </div>

附件
最大大小300 KB
在此处拖放一个文件
我的客户HTML代码

<div class="col-sm-6 p0">
                                    <div class="form-group">
                                        <div class="file-upload p0_res">
                                            <div class="col-sm-12 p0">
                                                <button class="file-upload-btn pull-left" type="button" onclick="$('.file-upload-input').trigger( 'click' )">
                                                    <label><b><i class="fa fa-fw fa-paperclip"></i> Attachments</b> </label> <span class="maxsize_file">Maxmimum size 300 KB</span> </button>
                                            </div>
                                            <div class="clear5"></div>
                                            <input type="hidden" class="directory-path-d" name="dir_path" value="uploads/customer/">
                                            <div class="image-upload-wrap image_upload_vendor_wrappp img-drag-detuct-d">
                                                <div class="file-content-d">
                                                                                                    </div>
                                               <input class="file-upload-input valid" name="atta_file_names_d" id="atta_file_names_d" type="file" multiple="multiple" aria-invalid="false">
                                                <div class="drag-text">
                                                    <h3>Drag/Drop files here or click the icon</h3>
                                                </div>
                                                <svg class="svg-progress-bar-30-right progress-bar-load-d hide-d" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200">
        <circle class="path-progress-bar" stroke-width="10" stroke-miterlimit="10" cx="100" cy="100" r="94"></circle></svg>
                                            </div>
                                        </div>
                                    </div>
                                    </div>

附件最大大小为300 KB
将文件拖放到此处或单击图标
    $(document).on('change','#atta_file_names_d , #rec_atta_file_names_d',function()
    {
        var elm = $(this);
        var elmId = $(elm).attr('id');
        var form_id = $(elm).parents('form').attr('id');
        var directory_upload_path = $(this).parents('form').find('.directory-path-d').val();

        var apend_checkbox = ''; // for condition validation 
        var apendCheckbox=''; // to use in append string

        // define variables to be used within appended string
        if($(elm).is("#rec_atta_file_names_d"))
        {
            attached_file_idetify = 'rec_attached_file';
            actual_file_name_idetify = 'rec_actual_file_name';
            attach_each_id = 'rec_atta_file_names_d';
        }
        else{
            attached_file_idetify = 'attached_file';
            actual_file_name_idetify = 'actual_file_name';
            attach_each_id = 'atta_file_names_d';
        }

        //add checkbox in the attached image
        if($(elm).hasClass("checkbox-img-d"))
        {
            apend_checkbox = 1;
        }

        // determine uploaded files
        var files = $(this).prop('files');
        if( files.length == 0){ // case: there is no file to upload
            console.log('no file to upload');
            return;
        }

        // setup form data for post request
        var forma = $('#'+form_id)[0];
        var formd = new FormData(forma);
        formd.append("path",  directory_upload_path);
        $.each( files, function(k,v)
        {
            formd.append(elmId + '[]',  files[k]);
        });

$.ajax
        (
            {
                url: baseUrl+'upload-attachment',
                type: "POST",
                data:  formd,
                contentType: false,
                cache: false,
                processData:false,
                beforeSend : function()
                {
                    $('#'+form_id).find('.progress-bar-load-d').show();
                },
                success: function(res)
                {
                    validateLogin(res);
                    // console.log(res);
                    res = JSON.parse(res);
                    // console.log(res);
                    for(i=0; i < res.success.length; i++)
                    {
                        modified_file_name = res.success[i].success.file_name;

                        actual_file_name = res.success[i].file_name;
                        file_size = res.success[i].success.file_size;

                        if(apend_checkbox)
                        {
                            apendCheckbox = '<div class="chiller_cb"><input name="attachments" id="vat_2'+i+'" class="attach-checkbox-d" value="'+modified_file_name+'" type="checkbox"><label for="vat_2'+i+'">&nbsp;</label><span></span></div><span class="attach-email-s">Attach to email</span>';
                        }

                        append_uploaded_doc = '<div style="display: flex; align-items: center;padding: 0px 0px 0px 20px; height: 25px;">'+ apendCheckbox +'<a href="' + baseUrl + directory_upload_path + modified_file_name+'" target="_blank" class="attachment-a-s" style="font-size:13px; margin: 0px 5px 0px 20px;word-break: break-word; float: left;">' +actual_file_name +'</a><span class="file-size-s">('+file_size+')</span><a href="javascript:void(0)" class="atta-file-s" style="float: left;margin-right: 5px;"><img src=" '+ baseUrl + 'public/admin/images/attach_cross.png" /></a><input type="hidden" name="attached_file" class="'+attached_file_idetify+'" value="'+modified_file_name+'" /><input type="hidden" name="actual_file_name" class="'+actual_file_name_idetify+'" value="'+actual_file_name+'" /></div>';

                        if(attach_each_id == 'atta_file_names_d')
                        {

                            $(elm).parents('form').find('.file-content-d').append(append_uploaded_doc);
                        }
                        else
                        {
                            $(elm).parents('form').find('.rec-file-content-d').append(append_uploaded_doc);
                        }

                    }
                },
                error: function(e)
                {
                },
                complete: function (data)
                {
                    $('#'+form_id).find('.progress-bar-load-d').hide();
                }
            }
        );
    });