求类微博异步图片上传代码...

大日本国 发布于 2012/04/18 12:33
阅读 1K+
收藏 1
求类微博异步图片上传代码...
加载中
0
不坏
不坏
先加载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);


大日本国
大日本国
THANX
0
不坏
不坏
ajax 就能实现了  , 返回图片上传后的url路径 ,赋予隐藏input值 ,看下我的微薄  http://www.im95.com/space-weibo.html
大日本国
大日本国
汗, 要注册
0
红薯
红薯
jquery-form这个东西支持表单的文件上传
大日本国
大日本国
OK, 我试试
0
laserdance
laserdance
你这个异步 是指什么,是说先返回一个图片地址,然后启动一个线程来上传图片 吗??
大日本国
大日本国
就是不刷新,上传,返回一个地址 你sina微博那样的
返回顶部
顶部