前端之家收集整理的这篇文章主要介绍了
Ajax方式上传文件,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
传统的
文件上传都是需要刷新
页面的,Ajax向来都是用在普通的Form表单中。下面要介绍的就是使用Ajax来
上传文件。 我们这里需要用到一个大家可能不太常用的一个对象FormData,这家伙就是个关键——如果你的浏览器
不支持的话,下面的
内容就别看了。
后台代码就不介绍了,这里有介绍。下面就开始写
前台的
代码了: 首先肯定是需要一个input
标签来定义一个
文件选择框了; 然后是js
代码: [code
Syntax lang="javascript"]
var file = $("#file")[0].files[0];
if(file == null){
var form = new FormData();
//form = new FormData($("#formId")[0]);
form.append("file",file);
$.ajax({
url : "uploadTest.do",async : false,type : "POST",data : form,processData : false,contentType : false,success : function(data) {
console.log(data);
alert(data);
}
});
}
[/code
Syntax] 对于上面的
代码,有几点需要解释一下: FormData这个对象在初始化的时候,可以直接把一个form表单给传递进去,或者也可以通过append
函数来
添加字段。 还有ajax的使用中,processData和contentType这两项是必须得。
尼玛,选择完
图片就能立马预览?有木有啊? [code
Syntax lang="javascript"]
$("#electronicSignature").change(function(e){
var files = e.target.files || e.dataTransfer.files;
if(files && files.length > 0)
{
var file = files[0];
if (window.createObjectURL!=undefined) { // basic
url = window.createObjectURL(file) ;
} else if (window.URL!=undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file) ;
} else if (window.webkitURL!=undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file) ;
}
$('<img src="' + url + '"/>').appendTo("body");
}
});
[/code
Syntax]
http://www.w3school.com.cn/jquery/ajax_ajax.asp
http://ileson.iteye.com/blog/2099761 原文链接:https://www.f2er.com/ajax/161532.html