uplodify控件用于web上传很方便,上传之前,添加到了队列中,若需要删除,官网手册提供了onCancel事件。但是,如果在BS的公告系统中,往往要求实现像邮箱中上传一样,自动上传。若用户需要删除刚刚上传的文件,怎么把最终的文件信息存数据库中呢?
解决办法:
1、首先,在onUploadSuccess事件中记下上传的文件信息
1 onUploadSuccess: function (file, data, response) { 2 3 data = jQuery.parseJSON(data); 4 5 me.fileData[file.name] = { 6 fileId: file.id, 7 fileName: file.name, 8 fileSize: file.size, 9 fileType: file.type, 10 fileLink: data.msg.url, 11 }; 12 me.value = escape(jQuery.toJSON(me.fileData)); 13 }
2、为删除<a>标签添加click事件:
1 $("#fileQueue .cancel").live(‘click‘, function () { 2 var fileId = this.parentElement.parentElement.id; 4 jQuery.each(Fileupload.fileData, function (name, element) 5 { 6 if (element.fileId == fileId) 7 { 8 delete Fileupload.fileData[name]; 9 return; 10 } 11 }); 12 });
通过遍历fileData然后找到其中id匹配的,然后删除其中的信息;
3、当用户保存公告时候,只需要ajax请求上传FileData中的信息到数据库中即可;
时间: 2024-10-25 00:51:26