最近做项目,发现实现多个文件上传比较烦,看同事用的都是webuploader等附件,还要去查看源码,来修改样式。想到了一种简单的方法,用原始的<input type="file"/>也能实现。实现方法就是浏览一个文件之后,监听他的change方法,然后将这个file的样式设置成为隐藏,接着追加了一个file控件
<form id="addFeedbackForm" method="post">
<div id="task-m-upload" class="task-m-upload-wrap">
<textarea class="task-m-textarea" id="content"></textarea>
<div class="task-upload-files oh"></div>
<div class="task-upload-btns pr oh">
<a class="task-attachments-btn">添加附件</a>
<input type="file" class="task-input-file" name="file_upload"/>
</div>
</div>
</form>
<script type="text/javascript">
//上传方法
$('#task-m-upload').on('change','.task-input-file',function(){
//时间戳
var timestamp = Date.parse(new Date());
var class_name = Common.getFileType($(this).val());
var file_name = Common.getFileName($(this).val());
var fileHtml = '<div class="task-upload-file '+class_name+'">'
+'<span class="task-file-name">'+file_name+'</span>'
+'<a data-tag="'+timestamp+'" class="task-file-del"></a>'
+'</div>'
$('.task-upload-files').append(fileHtml);
$(this).attr('data-tag',timestamp).hide();
$('.task-upload-btns').append('<input type="file" class="task-input-file" name="file_upload"/>');
});
//绑定删除事件
$('.task-upload-files').on('click','.task-file-del',function(){
var data_tag = $(this).attr('data-tag');
$(this).parent().remove();
$('#hidden-files').find('[data-tag='+data_tag+']').remove();
});
$("#addFeedbackForm").ajaxSubmit({
url:ctxpath+"/web//saveFeedback",
cache:false,
dataType:'json',
data:{
'content' : $('#fcontent').val()
},
success: function(res) {
$('.task-upload-files').empty();
$('.task-input-file').each(function(i,val){
$(this).remove();
});
alert(result.msg);
}else{
alert(result.msg);
}
} ,
error:function(){
alert("系统错误,请联系系统管理员!");
}
});
//用这种方式就能提交文件了到后端了
</script>
这里面省略了样式的代码,这里面要导入jquery-xxx-min.js和jquery.form.js
相关推荐
"uploadify"是一款基于jQuery的插件,它为网页提供了强大的文件上传功能,包括一次选择多个文件和批量上传的能力。这些特性极大地提高了用户上传文件的效率,减轻了他们的操作负担。 "uploadify"的多选功能允许用户...
6. **批量操作**:支持文件单独和批量上传意味着用户可以选择上传单个文件,也可以选择多个文件同时上传。在前端,可以通过JavaScript对选中的所有文件进行遍历处理;在后端,服务器需要能够处理多个文件的数据流。 ...
标题中的“JQuery多文件上传源码”表明我们要讨论的是使用jQuery库实现的,能够处理多个文件同时上传的功能。在Web开发中,多文件上传是一个常见的需求,它允许用户一次性选择并上传多个文件,提高了用户体验。 **...
这个名为"php支持单个或者多个文件上传类"的文件上传类,应该包含以下核心功能: 1. **初始化**:在实例化类时,可以设置允许的文件类型、最大文件大小、目标上传目录等参数。 2. **验证**:类应包含验证功能,...
1. **多文件选择**:用户可以一次选择多个文件进行上传,提高操作效率。 2. **拖拽上传**:支持HTML5的拖放API,用户可以直接将文件拖放到指定区域进行上传。 3. **断点续传**:对于大文件,如果上传过程中网络中断...
### WinForm上传文件到服务器 #### 知识点概述 在.NET Framework中,Windows Forms(简称WinForms)是一种用于创建Windows...理解并掌握这些基本原理和技术细节,有助于开发者更好地开发出高效稳定的文件上传功能。
- **多文件上传**:用户可以选择多个文件同时上传,提高了用户体验。 - **进度条显示**:在上传过程中,Uploadify会显示每个文件的上传进度,提供实时反馈。 - **取消上传**:用户可以在上传过程中随时取消单个或...
ASP.NET多文件上传是Web开发中的一个重要功能,它允许用户一次性上传多个文件,极大地提高了用户交互性和效率。在ASP.NET框架中,实现这一功能需要掌握一些核心知识点。 首先,了解HTTP协议的基础至关重要。HTTP...
这样,用户就可以在浏览器中选择多个文件了。 2. **JSP与Servlet**: 通常,JSP用于展示视图,而Servlet负责处理业务逻辑。在多文件上传中,JSP页面会提交表单到一个Servlet,Servlet负责接收文件并进行处理。 3...
本系统源码提供了对单个大文件和多个文件同时上传的支持,使得用户可以更加灵活地处理各种文件传输需求。 首先,我们来详细探讨大文件上传的原理。传统的HTTP协议在上传大文件时可能会遇到问题,因为浏览器会一次性...
在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...
通过以上步骤,你就可以在一个页面上成功地使用layui实现多个文件upload上传按钮。记得根据实际项目需求调整各项配置,并确保服务器端接口与前端交互的正确性。在开发过程中,可以利用layui提供的丰富的API和事件来...
标题 "多个拖放文件上传的jQuery插件.zip" 暗示了这是一个基于JavaScript库jQuery的文件上传解决方案,特别强调支持多个文件同时上传,并且采用了拖放操作这一现代Web交互方式。这种技术常用于增强网站的用户体验,...
要实现多个文件的同时上传,我们需要利用一些额外的工具或库来扩展Struts1的功能。 在描述中提到的"jquery multi"可能是指jQuery的某个插件,用于实现前端的多文件选择和预览,例如`jQuery Multi File Uploader`或`...
在多文件上传场景下,Flash允许用户一次性选择多个文件,提供了一种友好的用户体验。Flash上传工具通常通过ActionScript(Flash的编程语言)编写,它可以控制文件的选取、上传过程,并且可以显示上传进度,提升用户...
在Asp.net中,同时上传多个文件是一项常见的需求,尤其在构建交互性强的Web应用程序时。这个功能使得用户能够一次性上传多个文件,提高了用户体验。在本文中,我们将深入探讨如何在Asp.net环境下实现这个功能。 ...
为了支持多文件上传,HTML5引入了`multiple`属性,允许用户一次选择并上传多个文件。例如: ```html []" multiple> ``` 在这个例子中,`multiple`属性使得用户可以在文件选择对话框中选择多个文件。`name`属性的值...
后台处理则可能涉及并发处理,确保多个文件同时上传,提高效率。 3. **带进度条的上传** 进度条是用户体验的重要组成部分,它通过显示文件上传进度,让用户了解上传状态。这通常通过监听文件上传事件,实时更新...
在PHP中,同时上传多个文件是一项常见的功能,尤其在用户需要上传一组图片、文档或其它类型文件时。本文将深入探讨如何实现这个功能,并提供一个实际的多文件上传示例。 1. **表单设计** 要上传多个文件,HTML表单...