在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="保存" οnclick="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;
}