利用html5的FormData对象实现多图上传
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了利用html5的FormData对象实现多图上传,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3755字,纯文字阅读大概需要6分钟。
内容图文
有两种实现方式:
1.可以使用form的方式实现。
html代码如下:
<body>
<form enctype="multipart/form-data" id="inputForm1" modelAttribute="bankAdminist" action="" method="post" class="form-horizontal">
<div class="control-group">
<label class="control-label">*PC端银行LOGO:</label>
<div class="controls">
<input type="hidden" id="image" name="pcLogopic" value="" />
<input type="file" name="file" id="file1"/><input type="button" value="上传" onclick="uploadImage()" class="btn btn-primary"/>
</div>
</div>
</form>
<form enctype="multipart/form-data" id="inputForm2" modelAttribute="bankAdminist" action="" method="post" class="form-horizontal">
<div class="control-group">
<label class="control-label">*APP端银行LOGO:</label>
<div class="controls">
<input type="hidden" id="image2" name="appLogopic" value="" />
<input type="file" name="file" id="file2"/><input type="button" value="上传" onclick="uploadImage2()" class="btn btn-primary"/>
</div>
</div>
</form>
</body>
js代码如下:
function uploadImage(){
var file=$("#file1").val();
var num=1;
upload(file,num);
}
function uploadImage2(){
var num=2
var file=$("#file2").val();
upload(file,num);
}
function upload(file,num){
if(file==""){
alert("请选择上传的文件!");
return false ;
}
var form = document.getElementById("inputForm"+num);
//得到formdata对象
var formdata = new FormData(form);
//ajax异步上传图片
//返回的filename类似 front/a.jpg
$.ajax({
url : "/momo/picture/uploadImg.do",
type : "POST",
data : formdata,
//dataType: "json",
cache : false,
contentType : false, //不可缺
processData : false, //不可缺
success:function(filename){
},
error: function (returndata) {
alert(JSON.stringify(returndata));
}
});
}
后台代码:
@RequestMapping(value="/uploadImg")
@ResponseBody
public String uploadImg(@RequestParam(value = "file", required = true) MultipartFile multipartFile,HttpServletRequest request,HttpServletResponse response) throws IOException{
String name = multipartFile.getOriginalFilename();
System.out.println(multipartFile+"---"+name);
.........
}
2.不使用form,只用input就可以完成
html代码如下:
<body>
<div class="control-group">
<label class="control-label">*PC端银行LOGO:</label>
<div class="controls">
<input type="hidden" id="image" name="pcLogopic" value="" />
<input type="file" name="file" multiple="multiple" id="file1"/><input type="button" value="上传" onclick="uploadImage()" class="btn btn-primary"/>
</div>
</div>
<div class="control-group">
<label class="control-label">*APP端银行LOGO:</label>
<div class="controls">
<input type="hidden" id="image2" name="appLogopic" value="" />
<input type="file" name="file" multiple="multiple" id="file2"/><input type="button" value="上传" onclick="uploadImage2()" class="btn btn-primary"/>
</div>
</div>
</body>
js代码如下:
function uploadImage(){
var file=$("#file1").val();
var num=1;
upload(file,num);
}
function uploadImage2(){
var num=2;
var file=$("#file2").val();
upload(file,num);
}
function upload(file,num){
if(file==""){
alert("请选择上传的文件!");
return false ;
}
var files= $("#file"+num).get(0).files;
//如果有选择图片则上传图片
var formData= new FormData();
if(files.length>0){
for(var i=0;i<files.length;i++){
formData.append(‘file‘,files[i]);
}
}
//得到formdata对象
//ajax异步上传图片
$.ajax({
url : "/momo/picture/uploadImg.do",
type : "POST",
data : formData,
//dataType: "json",
cache : false,
contentType : false, //不可缺
processData : false, //不可缺
success:function(filename){
},
error: function (returndata) {
alert(JSON.stringify(returndata));
}
});
}
后台代码同上。
我这里只是简单展示下数据发送到了后端文件上传控制器,剩下的根据项目业务的需求继续进行下去吧
原文:http://www.cnblogs.com/momo1210/p/7525660.html
内容总结
以上是互联网集市为您收集整理的利用html5的FormData对象实现多图上传全部内容,希望文章能够帮你解决利用html5的FormData对象实现多图上传所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。