四合一图床上传 - Cdn图床,百度图床,新浪图床,360图床,搜狗图床

图床

图床一般是指储存图片的服务器,有国内和国外之分。国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度。国内也分为单线空间、多线空间和cdn加速三种。

网上有很多很多图床比如:百度图床,新浪图床,360图床,搜狗图床,SM图床图床等等……

小杰给大家带来的是百度图床,新浪图床,360图床,搜狗图床,四合一版本
简约的前端上传模版,ajax方式提交图片到API里面,能快速获取图片的外链

全部代码


<!-- 
四合一图床上传,支持百度(2M)、搜狗(2M)、360(2M)、新浪(10M)图片上传
作者:Youngxj
博客:https://www.youngxj.cn
Apis:https://wiki.yum6.cn
声明:前端无版权,上传Js由Youngxj编写,调用YoungxjApis接口
-->
<!DOCTYPE html>
<html lang='zh-cn'>
<head>
	<meta charset='UTF-8'>
	<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
	<title>四合一图床上传 - Cdn图床,百度图床,新浪图床,360图床,搜狗图床</title>

	<link rel='stylesheet' href='https://cdn.bootcss.com/normalize/5.0.0/normalize.min.css'>
	<script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.min.js"></script>
	<style>
	html,body {height: 100%;margin: 0;padding: 0;}body {font-family: 'lucida grande', 'lucida sans unicode', lucida, helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;align-items: center;display: flex;}a{text-decoration:none;}#container {max-width: 400px;flex-basis: 100%;margin: 0 auto;background: #FFF;border-radius: 10px;box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);-webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);overflow: hidden;}#container #hero-img {width: 100%;height: 200px;background: #007bff;}#container #profile-img {width: 160px;height: 160px;margin: -80px auto 0 auto;}#container #profile-img img {width: 100%;background: #FFF;border-radius: 50%;}#container #content {text-align: center;width: 320px;margin: 0 auto;padding: 0 0 50px 0;}#container #content h1 {font-size: 29px;font-weight: 500;margin: 30px 0 0 0;}#container #content p {font-size: 18px;font-weight: 400;line-height: 1.4;color: #666;margin: 15px 0 40px 0;}#container #content a {color: #CCC;font-size: 14px;margin: 0 10px;transition: color .3s ease-in-out;-webkit-transition: color .3s ease-in-out;line-height: 40px;}#container #content a:hover {color: #007bff;}.btn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: "Open Sans","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",Arial,Verdana,Tahoma,sans-serif; font-size: 14px;  padding: 6px 10%;}.btn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: "Open Sans","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",Arial,Verdana,Tahoma,sans-serif; font-size: 14px; padding: 8px 10%;}
	.imgType{display: none;}
	#images img{width: 100%}
	#imgurl input{width: 100%}
	#imgurl,#progress{display: none;}

	@-webkit-keyframes rotation{
		from {-webkit-transform: rotate(0deg);}
		to {-webkit-transform: rotate(360deg);}
	}

	.Rotation{
		-webkit-transform: rotate(360deg);
		animation: rotation 3s linear infinite;
		-moz-animation: rotation 3s linear infinite;
		-webkit-animation: rotation 3s linear infinite;
		-o-animation: rotation 3s linear infinite;
	}

	.img{border-radius: 250px;}
</style>
</head>
<body>
	<div id='container'>
		<div id='hero-img'>
		</div>
		<div id='profile-img'>
			<img src='https://ww2.sinaimg.cn/large/005BYqpggy1fxbboztih4j305k05kwef.jpg' id="imgLoading" class="Rotation img" title="显示与隐藏"/>
		</div>
		<div id='content'>
			<h2>四合一图床上传</h2>
			<h5>
				百度图床-新浪图床-搜狗图床-360图床
			</h5>
			<div id="progress"><progress max="100" value="0" id="pg"></progress></div>
			<p class="imgType" id="imgType"></p>
			<form id="form1">
				<a href='javascript:void(0)' id="baiduImg" onclick="update('baidu')" class="btn btn-default" rel='nofollow'>百度图床</a><a href='javascript:void(0)' id="SinaImg" onclick="update('sina')" class="btn btn-default" rel='nofollow'>新浪图床</a>
				<a href='javascript:void(0)' id="sougouImg" onclick="update('sougou')" class="btn btn-default" rel='nofollow'>搜狗图床</a><a href='javascript:void(0)' id="soImg" onclick="update('so')" class="btn btn-default" rel='nofollow'>360 图床</a>
				<input type="file" id="file" name="file" onchange="sc($('#imgType').attr('imgType'));" style="display:none" accept="image/*">
			</form>
			<div class="imgContent" id="imgContent">
				<div id="images"></div>
				<div id="imgurl">
					<code>ImgUrl:</code>
					<input onclick="oCopy(this)" value=""  id="Imgs_url">
					<code>HtmlUrl:</code>
					<input onclick="oCopy(this)" value=""  id="Imgs_html">
					<code>Ubb:</code>
					<input onclick="oCopy(this)" value=""  id="Imgs_Ubb">
					<code>Markdown:</code>
					<input onclick="oCopy(this)" value=""  id="Imgs_markdown">
				</div>
			</div>

		</div>
	</div>
</body>
<script type="text/javascript">
/**
 * @act      sina
 * @version  1.2
 * @author   youngxj
 * @date     2018-11-17
 * @url      https://www.youngxj.cn
 */

 function update(type){
 	$('#file').val('');
 	$('#imgType').attr({
 		imgType: type,
 	});
 	file.click();

 }


 function sc(type){
 	if(!type){return false;}
 	var animateimg = $("#file").val();
 	$('#pg').val('0');
 	var imgarr=animateimg.split('\\');
 	var myimg=imgarr[imgarr.length-1];
 	var houzui = myimg.lastIndexOf('.');
 	var ext = myimg.substring(houzui, myimg.length).toUpperCase();  
 	var file = $('#file').get(0).files[0];
 	if(!file){return false;}
 	var fileSize = file.size;

 	switch(type){
 		case 'sougou':
 		var maxSize = 2097152;
 		break;
 		case 'baidu':
 		var maxSize = 2097152;
 		break; 
 		case 'so':
 		var maxSize = 2097152; 
 		break;
 		case 'sina':
 		var maxSize = 10485760; 
 		break;
 		default:
 		var maxSize = 10485760; 
 	} 
 	if(ext !='.PNG' && ext !='.GIF' && ext !='.JPG' && ext !='.JPEG' && ext !='.BMP'){  
 		parent.alert('文件类型错误,请上传图片类型');return false;  
 	}else if(parseInt(fileSize) >= parseInt(maxSize)){  
 		parent.alert('上传的文件不能超过'+maxSize/1024/1024+'MB');return false;  
 	}else{
 		$('#imgLoading').attr('src','https://ww2.sinaimg.cn/large/005BYqpgly1fxbbemsqxaj305k05k3yg.jpg');
 		var data = new FormData($('#form1')[0]);  
 		var YoungxjApisToken = 'f07b711396f9a05bc7129c4507fb65c5';
 		switch(type){
 			case 'sougou':
 			var apiUrl = 'https://apis.yum6.cn/api/5bd7f16aa33d7';
 			break;
 			case 'baidu':
 			var apiUrl = 'https://apis.yum6.cn/api/5bd828881f92b'; 
 			break;
 			case 'so':
 			var apiUrl = 'https://apis.yum6.cn/api/5bd90750c3f77'; 
 			break;
 			case 'sina':
 			var apiUrl = 'https://apis.yum6.cn/api/5bd44dc94bcfc'; 
 			break;
 			default:
 			return false;
 		};
 		$('#progress').show();
 		$.ajax({
 			url: apiUrl+'?token='+YoungxjApisToken,   
 			type: 'POST',    
 			data: data,    
 			dataType: 'JSON', 
 			processData: false,    
 			contentType: false,
 			xhr: function(){
 				var xhr = $.ajaxSettings.xhr();
 				if(onprogress && xhr.upload) {
 					xhr.upload.addEventListener("progress" , onprogress, false);
 					return xhr;
 				}
 			}
 		}).done(function(ret){
 			if(ret['code']=='1'){

 				var img = '';var imgurl = '';
 				if(type!='sina'){var imgSrc = ret['data'];}else{var imgSrc = ret['data']['url'];}
 				img += '<img src="'+imgSrc+'" name="sinaimg" id="sinaimg">';
 				
 				$('#Imgs_url').val(imgSrc);
 				$('#Imgs_html').val('<img src="'+imgSrc+'"/>');
 				$('#Imgs_Ubb').val('[img]'+imgSrc+'[/img]');
 				$('#Imgs_markdown').val('![]('+imgSrc+')');
 				$('#images').html(img);$('#imgLoading').attr('src','https://ww2.sinaimg.cn/large/005BYqpggy1fxbbgt35opj305k05k3yh.jpg');
 				$('#imgurl').show();
 				$('#progress').hide();  
 			}else{
 				$('#progress').hide();
 				$('#imgLoading').attr('src','https://ww2.sinaimg.cn/large/005BYqpggy1fxbbey7nfuj305k05k3yg.jpg');
 				parent.alert(ret['msg']);
 			}  
 			
 		});
 		return false;  
 	}    
 }

 function onprogress(evt){
 	var loaded = evt.loaded;
 	var tot = evt.total;
 	var per = Math.floor(100*loaded/tot);
 	$('#pg').val(per);

 }
 function oCopy(obj){
 	obj.select();
 	document.execCommand("Copy");
 	if (browserRedirect()) {alert('设备类型为手机,有一定几率复制失败!请查看剪切板是否成功复制');}
 }

 function browserRedirect(){
 	var sUserAgent = navigator.userAgent.toLowerCase();
 	var bIsIpad = sUserAgent.match(/ipad/i) == 'ipad';
 	var bIsIphone = sUserAgent.match(/iphone os/i) == 'iphone os';
 	var bIsMidp = sUserAgent.match(/midp/i) == 'midp';
 	var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == 'rv:1.2.3.4';
 	var bIsUc = sUserAgent.match(/ucweb/i) == 'web';
 	var bIsCE = sUserAgent.match(/windows ce/i) == 'windows ce';
 	var bIsWM = sUserAgent.match(/windows mobile/i) == 'windows mobile';
 	var bIsAndroid = sUserAgent.match(/android/i) == 'android';
 	if(bIsIpad || bIsIphone || bIsMidp || bIsUc7 || bIsUc || bIsCE || bIsWM || bIsAndroid ){
 		return 1;
 	}
 };
 $(document).ready(function(){
 	$('#imgLoading').click(function() {$("#imgContent").toggle();});
 });
</script>
</html>

PS:保存为html格式用浏览器打开即可使用。

猜你喜欢

转载自blog.csdn.net/qq_40108181/article/details/84677158