4
回答
求类微博异步图片上传代码...
求类微博异步图片上传代码...
<无标签>
举报
大日本国
发帖于6年前 4回/1K+阅
共有4个答案 最后回答: 6年前
先加载jquery库和 jquery.form.js插件库
下面是我网站扣下来的 ,具体你自己改下,css可以自己写
weibo = window.weibo || {
  upload: function (o) {
	  var hashstr = $("#wb_hash").val();
	  var hml = ' ';
	  hml += '<form method="post" id="uploadform" action="cp.php?ac=wbupload&hash='+hashstr+'" enctype="multipart/form-data"><a href="javascript:void(0);" class="choose_pic"><span>选择本地图片</span><input class="input_f" id="wbpic" name="wbpic" type="file" onchange="weibo.upload_pic()"></a></form><div>仅支持JPG、GIF、PNG、JPEG图片,且小于3MB</div>';
	  var html = '<div id="ppop_box" class="pop_box"><div class="p-arrow"><em>◆</em><span>◆</span></div><div class="b_hd"><a href="javascript:void(0);" class="p_close"></a>上传图片</div><div class="b_bd">';
	  html += hml + '</div></div>';
	  if( $('#ppop_box').html()==null ){
		  $('body').append(html);
	  }
	  var position = $(o).offset();
	  $('#ppop_box').css({"top":position.top+"px","left":position.left-($("#ppop_box").width()/2)+98+"px","display":"none"});
	  $('#ppop_box').fadeIn("fast");
	  $("#ppop_box .p_close").one('click',function(){
		  $("#ppop_box").hide();
		  updatehash();
	  });
  },
  
  upload_pic:  function () {
	var pic = $('#wbpic').val();
	if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(pic)){
		alert("只能上传gif,jpeg,jpg,png格式图片!")
		return false;
	  }
	var options = {
		global:false,
		beforeSend: function(){
			$('<div class="boxy-modal-blackout"></div>').css($.extend(ui.box._cssForOverlay(), {
				zIndex: 9999, opacity: 0.1
			})).appendTo(document.body);
			ui.load('图片正在上传,请稍后...');
		},
		success:function(s){
			if(s.picid == '' || s.error){
				if(s.error){
				  alert('上传图片最大不能超过3MB!');
				}else{
				  alert('图片上传失败!');
				}
			  $('.boxy-modal-blackout').remove();
			  ui.loaded();
			  return false;
			}else{
				$('#wb_images').val(s.url);
				$('#wb_picid').val(s.picid);
				$('#shuoshuoup').html(s.name+' <a href="javacript:;" onclick="deluploadpic()">删除</a>');
				$('#message').focus();
			}
			$('.boxy-modal-blackout').remove();
			ui.loaded();
			$('#ppop_box').hide();
		},
		dataType: "json"
	};
	$('#uploadform').ajaxSubmit( options );
	return false;
  }
  
};

php

$result = array();
$hash = $_GET['hash'];
$result['picid'] = $result['name'] = $result['error'] = $result['url'] = '';
$maxAttachSize=1024*1024*3;//最大上传大小,默认是3M
$bytes=filesize($_FILES['wbpic']['tmp_name']);
if($bytes > $maxAttachSize){
	$result['error'] ='maxlimit';
	echo json_encode($result);exit;
}
if($_FILES['wbpic']){
//上传图片类
 $upload = pic_save($_FILES['wbpic'], -2 , $title, 'weibo', $hash);
 $result['picid'] = $upload['picid'];
 $result['name'] = $upload['filename'];
 $result['url'] = $upload['filepath'];
 if($upload['thumb']) $result['url'] = $upload['filepath'].'.thumb.jpg';
}
echo json_encode($result);


--- 共有 1 条评论 ---
大日本国THANX 6年前 回复
你这个异步 是指什么,是说先返回一个图片地址,然后启动一个线程来上传图片 吗??
--- 共有 1 条评论 ---
大日本国就是不刷新,上传,返回一个地址 你sina微博那样的 6年前 回复
顶部