在web开发中,常常会遇到上传文件的需求,比如上传视频和图片,之前做上传功能的时候,就是使用IO流来操作,这种需要熟悉IO各种输入输出流,当然本人还是希望开发能对IO进行深度学习,如果掌握了,不妨可以尝试使用transferTo()来进行文件的上传操作。
前端页面写法(form表单提交):
-
<label class="col-sm-2 control-label no-padding-right" for="form-field-1">视频:</label>
-
<div class="col-sm-3">
-
<input type="file" id="media" name="myfile" />
-
<input type="hidden" name="mediaName" value=""/>
-
</div>
-
<input type="button" class="btn btn-small btn-base" title="保存" onclick="tijiao();" value="保存">
提交就是使用jquery的ajaxSubmit函数进行整个表单的提交。
后端核心代码写法:
-
public void fileUpload(@RequestParam("myfile") MultipartFile[] myfile) {
-
try {
-
int len = myfile.length;
-
for (int i = 0; i < len; i++) {
-
MultipartFile file = myfile[i];
-
if (file.isEmpty()) {
-
// TODO文件为空时处理
-
return;
-
} else {
-
file.transferTo(new File("服务器文件上传目录" + file.getName()));
-
}
-
}
-
} catch (Exception e) {
-
e.printStackTrace();
-
}
-
return;
-
}