Jquery Blueimp文件上载:在上载之前从文件列表中删除文件

Jquery Blueimp文件上载:在上载之前从文件列表中删除文件,jquery,jquery-file-upload,blueimp,Jquery,Jquery File Upload,Blueimp,在提交表单进行上传之前,如何从Blueimp插件中的“选定文件”列表中删除文件。我试过了,但它只是从UI中删除文件,而不是从队列中删除 这是我的密码 $(function(){ $("#UploadPhotos").click(function(){ $("#ItemPhotos").click(); }); $('#ItemPhotos').fileupload({

在提交表单进行上传之前,如何从Blueimp插件中的“选定文件”列表中删除文件。我试过了,但它只是从UI中删除文件,而不是从队列中删除

这是我的密码

$(function(){
            $("#UploadPhotos").click(function(){
                $("#ItemPhotos").click();
            });
            $('#ItemPhotos').fileupload({
                    url: "${pageContext.servletContext.contextPath}/XYZ",
                    //dataType: 'json',
                    autoUpload: false,
                    acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
                    maxFileSize: 5000000, // 5 MB
                    // Enable image resizing, except for Android and Opera,
                    // which actually support image resizing, but fail to
                    // send Blob objects via XHR requests:
                    disableImageResize: /Android(?!.*Chrome)|Opera/
                        .test(window.navigator.userAgent),
                    previewMaxWidth: 171,
                    singleFileUploads:false,
                    previewMaxHeight: 180,
                    previewCrop: true
                }).on('fileuploadadd', function (e, data) {
                    data.context = $('<div/>').appendTo('#FilesListThumb');
                    $.each(data.files, function (index, file) {
                        var node = $('<div><h6>X</h6></div>').addClass("thumbnail-ib");
                        node.appendTo(data.context);
                        node.find("h6").click(function(){
                            node.remove();
                        });
                    });
                    $("#itemSellForm").submit(function(){
                        data.formData = $("#itemSellForm").serializeArray();
                        data.submit();
                        return false;
                    });                        
                }).on('fileuploadprocessalways', function (e, data) {
                    var index = data.index,
                        file = data.files[index],
                        node = $(data.context.children()[index]);
                    if (file.preview) {
                        node
                            .addClass("thumbnail")
                            .append(file.preview);
                    }
                    if (file.error) {
                        node
                            .addClass("thumbnail")
                            .append($('<span class="text-danger"/>').text("Upload Failed"));
                    }
                }).on('fileuploadfail', function (e, data) {
                    $.each(data.files, function (index, file) {
                        var error = $('<span class="text-danger"/>').text('File upload failed.');
                        $(data.context.children()[index])
                            .append('<br>')
                            .append(error);
                    });
                }).on("fileuploaddone",function(e,data){
                  //  sendData = false;
                 alert("done");
                });
        });
$(函数(){
$(“#上传照片”)。单击(函数(){
$(“#项目照片”)。单击();
});
$(“#项目照片”)。文件上载({
url:“${pageContext.servletContext.contextPath}/XYZ”,
//数据类型:“json”,
自动上载:false,
acceptFileTypes:/(\.\/)(gif | jpe?g | png)$/i,
最大文件大小:5000000,//5 MB
//启用图像大小调整,Android和Opera除外,
//它实际上支持图像大小调整,但无法
//通过XHR请求发送Blob对象:
disableImageResize:/Android(?。*Chrome)| Opera/
.test(window.navigator.userAgent),
预览最大宽度:171,
singleFileUploads:false,
预览最大高度:180,
previewCrop:true
}).on('fileuploadadd',函数(e,数据){
data.context=$('').appendTo('#FilesListThumb');
$.each(data.files,函数(索引,文件){
var节点=$('X').addClass(“缩略图ib”);
appendTo(data.context);
node.find(“h6”)。单击(函数(){
node.remove();
});
});
$(“#itemSellForm”).submit(函数(){
data.formData=$(“#itemSellForm”).serializeArray();
data.submit();
返回false;
});                        
}).on('fileuploadprocessalways',函数(e,数据){
var指数=data.index,
file=data.files[index],
node=$(data.context.children()[index]);
if(file.preview){
节点
.addClass(“缩略图”)
.append(file.preview);
}
if(file.error){
节点
.addClass(“缩略图”)
.append($('').text(“上载失败”);
}
}).on('fileuploadfail',函数(e,数据){
$.each(data.files,函数(索引,文件){
var error=$('').text('文件上载失败');
$(data.context.children()[index])
.append(“
”) .append(错误); }); }).on(“文件上传完成”,函数(e,数据){ //sendData=false; 警惕(“完成”); }); });

在这里,当我单击h6时,缩略图仅从ui中删除,而不是从IFLE列表中删除每个BlueImp回调都有两个参数:一个
事件和一个
数据对象


数据
对象包含一个
文件
数组,您可以编辑该数组以更改将上载的文件。因此,如果您在提交请求之前删除其中一个数组元素(
array.pop
,或其他方法…),则可以将其视为已删除。

可能有助于另外单击按钮上载照片以删除/取消绑定的事件

$("#UploadPhotos").unbind("click")

哦,是的,我添加了
data.files.splice(索引,1)内部
节点。查找(“h6”)。单击
小心,当你删除数组中间的一个对象时,我想重新计算DATA文件数组的索引。所以我应该小心。如果我从DATA文件中删除一个元素,它会重新计算索引。所以我想OK COS下次再次点击删除按钮时,它将从新的重新计算数组中获取索引。对吗?还有一件事。案例您能告诉我如何在提交表单后从队列中删除所有文件吗?@Manish如果您一次添加3个文件,然后将它们从1个索引中删除到最后一个索引,您的
拼接
函数上的
索引
值将不会更新。要检查它,只需编写一个
console.log(index)
并进行测试。