1.登录美图秀秀WEB开放平台(http://open.web.meitu.com/wiki/)
下载crossdomain.xml文件,把解压出来的crossdomain.xml文件放在您保存图片或图片来源的服务器根目录下。
如: http://example.com.cn,那么crossdomain.xml的路径为:http://example.com.cn/crossdomain.xml。
需要注意的是crossdomain.xml必须部署于站点根目录下才有效, crossdomain.xml的目的是授权来自美图域下的flash向您的站点上传图片或者从您的站点加载图片。
在你的网页代码head标签里或者body标签里加入代码。
然后加载meitu.js和JQ.Js的代码,再创建一个div,id设置为csdiv,例:

接下来你需要编辑你的meitu.js文件,设置美图秀秀API的相关参数啦,例:

接着,我们就上面的上传接口进行编写相应的php代码:
0){
//文件上传错误提示
switch($_FILES['Filedata']['error']){
case 1:
//1---文件上传大小超过服务器允许上传的最大值
$error_log='The file is bigger than this PHP installation allows';
break;
case 2:
//2---文件上传大小超过html表单中隐藏域MAX_FILE_SIZE选项的值
$error_log='The file is bigger than this form allows';
break;
case 3:
//3---文件只有部分被上传
$error_log='Only part of the file was uploaded';
break;
case 4:
//4---没有文件被上传
$error_log='No file was uploaded';
break;
default:break;
}
die('upload error:'.$error_log);
}
else {
//上传成功
//获得临时文件名
$img_data = $_FILES['Filedata']['tmp_name'];
//获得上传文件的大小
$size = getimagesize($img_data);
//获得上传文件类型
$file_type = $size['mime'];
if (!in_array($file_type, array('image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/gif'))) {
$error_log='only allow jpg,png,gif';
//文件类型出错,输出错误信息
die('upload error:'.$error_log );
}
//获得文件扩展名
switch($file_type){
case 'image/jpg':
case 'image/jpeg':
case 'image/pjpeg':
$extension = 'jpg';
break;
case 'image/png':
$extension='png';
break;
case 'image/gif':
$extension='gif';
break;
}
}
if(!is_file($img_data)){
die('Image upload error!');
}上边这段代码重要的作用是:判断是否上传文件,上传文件是否满足要求(大小,格式),获得文件的扩展名。
下边这段代码可以理解为:新创建一个$filename,带有文件路径、文件名和文件扩展名,调用move_uploaded_file函数,将上传的图片移到到当前$filename文件,然后加载Db.class.php类和连接数据库操作的config.php,接着把当前上传文件更新在数据库相应的avatar上:

连接数据库的config.php文件为:

我们在从事软件开发过程中,经常会遇到使用签名算法,比如在线支付、API接口调用、数据推送、报文校验、身份授权等场景,每一个过程都需要进行签名,原理是请求的数据在发送数据的同时,对数据根据算法进行签名,然后服务端接收数据时,除了校验基本数...
如何实现用R语言一次读取多个zip文件,获取zip文件里的数据?今天丁老师教给大家。R语言可以使用zip_vector函数,可以读取所有zip压缩文件里的内容,并且无需使用循环。代码示例:datprocessorC <- func...
我们都知道Visual Studio的自动完成功能,可以在开发时,自动提示补充语法、参数等信息,可以方便的协助我们来开发程序,但是有同学发现,在使用VS开发C#程序时,编辑器的自动完成功能很不好用,要么是在正常输入代码时,突然出现提示,...
int main() { auto hello= struct { int test() { return 1; } }().test(); }有初学C++的小伙伴提问,在运行C++代码时报错,错误提示如下:<source :2:...
1.字体列表及引用链接鸿蒙字体 - B 站400 字重 CSS://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css 500 字重 CSS://s1.hdslb.com/bfs/st...
在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...
在用photoshop设计时,有的同学会发现,在网页中设置的宽度1000px,截屏后,再用photoshop打开后测量同样图像的宽度时,这个宽度就不是1000像素,而是1200多甚至1300多,是个很奇怪的问题,丁老师检查了photosho...
在使用uniapp开发app和小程序时,经常会用到打开app/小程序时,根据登录状态判断是显示首页还是跳转登录页的功能。此功能在app.vue的onlaunch方法中定义,方法如下:onLaunch: function() { const ...