host = 'https://52baina.oss-cn-beijing.aliyuncs.com' policyBase64 = '' signature = '' callbackbody = '' filename = '' key = '' expire = 0 g_object_name = '' g_object_name_type = '' now = timestamp = Date.parse(new Date()) / 1000; function send_request() { var xmlhttp = null; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlhttp!=null) { // serverUrl是 用户获取 '签名和Policy' 等信息的应用服务器的URL,请将下面的IP和Port配置为您自己的真实信息。 // serverUrl = 'http://88.88.88.88:8888/aliyun-oss-appserver-php/php/get.php' serverUrl = 'https://www.fz08.com/baojia/php/get.php' xmlhttp.open( "GET", serverUrl, false ); xmlhttp.send( null ); return xmlhttp.responseText } else { alert("Your browser does not support XMLHTTP."); } }; function check_object_radio() { var tt = document.getElementsByName('myradio'); for (var i = 0; i < tt.length ; i++ ) { if(tt[i].checked) { g_object_name_type = tt[i].value; break; } } } function get_signature() { // 可以判断当前expire是否超过了当前时间, 如果超过了当前时间, 就重新取一下,3s 作为缓冲。 now = timestamp = Date.parse(new Date()) / 1000; if (expire < now + 3) { body = send_request() var obj = eval ("(" + body + ")"); host = obj['host'] policyBase64 = obj['policy'] accessid = obj['accessid'] signature = obj['signature'] expire = parseInt(obj['expire']) callbackbody = obj['callback'] key = obj['dir'] return true; } return false; }; function random_string(len) {   len = len || 32;   var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';   var maxPos = chars.length;   var pwd = '';   for (i = 0; i < len; i++) {   pwd += chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; } function get_suffix(filename) { pos = filename.lastIndexOf('.') suffix = '' if (pos != -1) { suffix = filename.substring(pos) } return suffix; } function calculate_object_name(filename) { if (g_object_name_type == 'local_name') { g_object_name += "${filename}" } else if (g_object_name_type == 'random_name') { suffix = get_suffix(filename) g_object_name = key + random_string(10) + suffix } return '' } function get_uploaded_object_name(filename) { if (g_object_name_type == 'local_name') { tmp_name = g_object_name tmp_name = tmp_name.replace("${filename}", filename); return tmp_name } else if(g_object_name_type == 'random_name') { return g_object_name } } function set_upload_param(up, filename, ret) { if(up.files.length == 0) { showTips('请选择需要上传的图纸文件'); return false; } if (ret == false) { ret = get_signature() } g_object_name = key; if (filename != '') { suffix = get_suffix(filename) calculate_object_name(filename) } new_multipart_params = { 'key' : g_object_name, 'policy': policyBase64, 'OSSAccessKeyId': accessid, 'success_action_status' : '200', //让服务端返回200,不然,默认会返回204 'callback' : callbackbody, 'signature': signature, }; up.setOption({ 'url': host, 'multipart_params': new_multipart_params }); up.start(); } var uploadedFiles = []; var uploader = new plupload.Uploader({ runtimes : 'html5,flash,silverlight,html4', browse_button : 'selectfiles', //multi_selection: false, container: document.getElementById('container'), flash_swf_url : 'lib/plupload-2.1.2/js/Moxie.swf', silverlight_xap_url : 'lib/plupload-2.1.2/js/Moxie.xap', url : 'https://oss.aliyuncs.com', filters: { mime_types : [ //只允许上传图片和zip文件 { title : "Image files", extensions : "jpg,png,cdr,ai,pdf,stp,dxf,step,xls,xlsx,doc,docx" }, { title : "Zip files", extensions : "zip,rar,7z,gz" } ], max_file_size : '1000mb', //最大只能上传10mb的文件 prevent_duplicates : true //不允许选取重复文件 }, init: { PostInit: function() { document.getElementById('ossfile').innerHTML = ''; document.getElementById('postfiles').onclick = function() { var name = $("#name").val(); var phone = $("#phone").val(); var content = $("#content").val(); if(!name){ document.getElementById('name').className="inputn"; document.getElementById('name').focus(); showTips('请填写联系人'); return false; } if(!phone){ document.getElementById('phone').className="inputn"; document.getElementById('phone').focus(); showTips('请填写手机号码'); return false; } if(!content){ document.getElementById('content').className="inputn"; document.getElementById('content').focus(); showTips('请填写项目说明'); return false; } set_upload_param(uploader, '', false); return false; }; }, FilesAdded: function(up, files) { plupload.each(files, function(file) { document.getElementById('ossfile').innerHTML += '
' + file.name + ' (' + plupload.formatSize(file.size) + ')' +'
' +'
'; }); }, BeforeUpload: function(up, file) { check_object_radio(); set_upload_param(up, file.name, true); }, UploadProgress: function(up, file) { var d = document.getElementById(file.id); d.getElementsByTagName('b')[0].innerHTML = '' + file.percent + "%"; var prog = d.getElementsByTagName('div')[0]; var progBar = prog.getElementsByTagName('div')[0] progBar.style.width= 2*file.percent+'px'; progBar.setAttribute('aria-valuenow', file.percent); }, FileUploaded: function(up, file, info) { if (info.status == 200) { document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = 'upload to oss success, object name:' + get_uploaded_object_name(file.name) + ' 回调服务器返回的内容是:' + info.response; } else if (info.status == 203) { $("#files").attr("value",$('#files').val()+"|"+get_uploaded_object_name(file.name)); //document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '文件上传成功!' + get_uploaded_object_name(file.name); document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '文件上传成功!'; uploadedFiles.push(file.name); if(uploadedFiles.length == up.files.length) { //$("#ordersave").click(); saveajax(); } } else { document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = info.response; } }, Error: function(up, err) { if (err.code == -600) { document.getElementById('console').appendChild(document.createTextNode("\n选择的文件太大了")); } else if (err.code == -601) { document.getElementById('console').appendChild(document.createTextNode("\n选择的文件后缀不对")); } else if (err.code == -602) { document.getElementById('console').appendChild(document.createTextNode("\n这个文件已经上传过一遍了")); } else { document.getElementById('console').appendChild(document.createTextNode("\nError xml:" + err.response)); } } } }); uploader.init(); function saveajax(){ //$("#postfiles").click(); var classid = $("#classid").val(); var mainid = $("#mainid").val(); var title = $("#title").val(); var phonecode = $("#phonecode option:selected").val(); var numb = ""; var price = ""; var longtime = 365; var content = $("#content").val(); var name = $("#name").val(); var phone = $("#phone").val(); var coname = ""; var files = $("#files").val(); //alert(preview1); if(phone){ $.ajax({ url:"baojiasave.php", type: "POST", data:{'classid':classid,'mainid':mainid,'title':title,'files':files,'numb':numb,'phonecode':phonecode,'price':price,'longtime':longtime,'content':content,'name':name,'phone':phone,'coname':coname}, dataType:'json', success:function(json) { showTips('信息提交成功',3000,1); location.href="index.html?lang="; }, error:function(){ showTips('操作失败,请与客服联系'); } }); } } function showTips(txt,time,status) { var htmlCon = ''; if(txt != ''){ if(status != 0 && status != undefined){ htmlCon = '
OK,'+txt+'
'; }else{ htmlCon = '
Error,'+txt+'
'; } $('body').prepend(htmlCon); if(time == '' || time == undefined){ time = 1500; } setTimeout(function(){ $('.tipsBox').remove(); },time); } }