微笑的Night King
引言
星期四的时候,我遇到了一个文件上传的问题,与以往不同的是,这一次上传的是多个文件,而且涉及到了久违的javascript代码。(久违是因为前后端分离的趋势,好久没有碰过JS)
虽然最后实现的差强人意,不过也算是完成了功能,接下来就把我发现的一些问题和总结记录一下。
HTML部分展示
上述代码可以看到,只是一个简单的 form表单,里面嵌套了一个 input 输入框,这个 input 输入框的 type 类型是file,值得注意的是,如果是允许上传多个文件,那么input输入框必须添加multiple="multiple" 属性。
这里要说明一点,由于使用 submit 按钮提交 form表单会造成页面刷新,因此,现在一般都采用按钮与 form 表单分离的方式,使用 AJAX来异步上传数据。 如下所示:
上传模板文件
JS代码展示
/** * 上传模板文件 * @returns */function sendTemplates() {// 需要上传的文件//var templates = document.getElementById("templatesFile").files;var templates = $("#templatesFile")[0].files;if (templates.length > 2) {alert("上传失败,一次最多两个文件!");return;}var formdata = new FormData();for (var i = 0 ; i < templates.length ; i++) {formdata.append("temp" + i, templates[i]);}$.ajax({url : "/manager/uploadTemplates