以前上传图片预览都会有跨域问题,现在新的html5和浏览器都支持新的玩法了,我这里说说思路但是没有完整的代码。
在form表单enctype数据编码multipart/form-data进行传输,主要是通过HTML5的FormData对象转变表单成需要的数据类型。multiple选多图。
upload
//上传前图片预览
function preview(obj){
var length = obj.files.length;
//多图上传时遍历文件信息(可以通过object.files查看)
for (var i = 0; i < length; i++) {//循环输出预览图片
$('.picList').append('');
}
}
}
FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype属性设为multipart/form-data ,则会使用表单的submit()方法来发送数据,从而,发送数据具有同样形式。
//点击表单upload按钮提交执行脚本
$.
这里要注意几点:
processData设置为false。因为data值是FormData对象,不需要对数据做处理。
标签添加enctype=”multipart/form-data”属性。cache设置为false,上传文件不需要缓存。
contentType设置为false。因为是由
表单构造的FormData对象,且已经声明了属性enctype=”multipart/form-data”,所以这里设置为false。upload.php页面
print_r($_FILES['file']);//打印下文件是否上传成功
move_uploaded_file//保存临时上传文件
有问题留言 哈