很簡單的一款PHP+Ajax+plupload無刷新上傳頭像圖片代碼,兼容性很好,可以直接拿來用。你可以自定義各種類型的文件。本實例中只能上傳"jpg", "png", "gif", "jpeg"等圖片文件
引入jQuery庫和plupload上傳組件
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="plupload/plupload.full.min.js"></script>
plupload單圖片上傳配置
var uploader_avatar = new plupload.Uploader({//創建實例的構造方法
runtimes: 'gears,html5,html4,silverlight,flash', //上傳插件初始化選用那種方式的優先級順序
browse_button: ['avatar_uplpad_btn'], // 上傳按鈕
url: "ajax.php", //遠程上傳地址
flash_swf_url: 'js/plugins/plupload/Moxie.swf', //flash文件地址
silverlight_xap_url: 'js/plugins/plupload/Moxie.xap', //silverlight文件地址
filters: {
max_file_size: '10mb', //最大上傳文件大小(格式100b, 10kb, 10mb, 1gb)
mime_types: [//允許文件上傳類型
{title: "files", extensions: "jpg,png,gif,jpeg"}
]
},
multi_selection: false, //true:ctrl多文件上傳, false 單文件上傳
init: {
FilesAdded: function(up, files) { //文件上傳前
uploader_avatar.start();
},
UploadProgress: function(up, file) { //上傳中,顯示進度條
var percent = file.percent;
$("#" + file.id).find('.bar').css({"width": percent + "%"});
$("#" + file.id).find(".percent").text(percent + "%");
},
FileUploaded: function(up, file, info) { //文件上傳成功的時候觸發
var data = eval("(" + info.response + ")");//解析返回的json數據
$("#avatar_pic").html("<img src='" + data.pic + "'/>")
},
Error: function(up, err) { //上傳出錯的時候觸發
alert(err.message);
}
}
});
uploader_avatar.init();