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