<?php
class
ImageUpload
{
protected
$_config
=
array
();
public
function
__construct()
{
$this
->_config = C(
'imageservice'
);
}
public
function
put(
$object
,
$filename
,
$path
)
{
$postField
=
file_get_contents
((
realpath
(
$path
)));
$process
= curl_init(
$this
->_config[
'api'
].
'/'
.
$this
->_config[
'bucketname'
].
'/'
.
$object
.
'/'
.
$filename
);
curl_setopt(
$process
, CURLOPT_POST, 1);
curl_setopt(
$process
, CURLOPT_POSTFIELDS,
$postField
);
curl_setopt(
$process
, CURLOPT_USERPWD,
$this
->_config[
'username'
].
':'
.
$this
->_config[
'userpass'
]);
curl_setopt(
$process
, CURLOPT_HTTPHEADER,
array
(
'Expect:'
,
"Mkdir:true"
));
curl_setopt(
$process
, CURLOPT_HEADER, 0);
curl_setopt(
$process
, CURLOPT_TIMEOUT, 30);
curl_setopt(
$process
, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$process
, CURLOPT_FOLLOWLOCATION, 1);
$result
= curl_exec(
$process
);
$code
= curl_getinfo(
$process
, CURLINFO_HTTP_CODE);
curl_close(
$process
);
return
array
(
'code'
=>
$code
,
'info'
=>
$result
);
}
public
function
get(
$object
,
$filename
)
{
$process
= curl_init(
$this
->_config[
'api'
].
'/'
.
$this
->_config[
'bucketname'
].
'/'
.
$object
.
'/'
.
$filename
);
curl_setopt(
$process
, CURLOPT_USERPWD,
$this
->_config[
'username'
].
':'
.
$this
->_config[
'userpass'
]);
curl_setopt(
$process
, CURLOPT_HEADER, 0);
curl_setopt(
$process
, CURLOPT_TIMEOUT, 30);
curl_setopt(
$process
, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$process
, CURLOPT_FOLLOWLOCATION, 1);
$result
= curl_exec(
$process
);
$code
= curl_getinfo(
$process
, CURLINFO_HTTP_CODE);
curl_close(
$process
);
return
array
(
'code'
=>
$code
,
'info'
=>
$result
);
}
public
function
delete
(
$object
,
$filename
)
{
$process
= curl_init(
$this
->_config[
'api'
].
'/'
.
$this
->_config[
'bucketname'
].
'/'
.
$object
.
'/'
.
$filename
);
curl_setopt(
$process
, CURLOPT_CUSTOMREQUEST,
'DELETE'
);
curl_setopt(
$process
, CURLOPT_USERPWD,
$this
->_config[
'username'
].
':'
.
$this
->_config[
'userpass'
]);
curl_setopt(
$process
, CURLOPT_HEADER, 0);
curl_setopt(
$process
, CURLOPT_TIMEOUT, 30);
curl_setopt(
$process
, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$process
, CURLOPT_FOLLOWLOCATION, 1);
$result
= curl_exec(
$process
);
$code
= curl_getinfo(
$process
, CURLINFO_HTTP_CODE);
curl_close(
$process
);
return
array
(
'code'
=>
$code
,
'info'
=>
$result
);
}
public
function
usage()
{
$process
= curl_init(
$this
->_config[
'api'
].
'/'
.
$this
->_config[
'bucketname'
].
'?usage'
);
curl_setopt(
$process
, CURLOPT_USERPWD,
$this
->_config[
'username'
].
':'
.
$this
->_config[
'userpass'
]);
curl_setopt(
$process
, CURLOPT_HEADER, 0);
curl_setopt(
$process
, CURLOPT_TIMEOUT, 30);
curl_setopt(
$process
, CURLOPT_RETURNTRANSFER, 1);
$result
= curl_exec(
$process
);
$code
= curl_getinfo(
$process
, CURLINFO_HTTP_CODE);
curl_close(
$process
);
return
array
(
'code'
=>
$code
,
'info'
=>
$result
);
}
public
function
save(
$model
,
$filename
=
''
,
$streamFile
=
''
,
$id
=
''
,
$user_id
)
{
$result
=
$this
->put(
$model
,
$filename
,
$streamFile
);
$id
=
empty
(
$id
) ? objid() :
$id
;
$filename
=
empty
(
$filename
) ?
$id
:
$filename
;
if
(
$result
[
'code'
] == 200)
{
$array
=
array
(
'id'
=>
$id
,
'filename'
=>
$filename
,
'model'
=>
$model
,
'status'
=> 0,
'user_id'
=>
$user_id
,
);
return
ImageService::add(
$array
);
}
return
$result
;
}
public
function
display(
$id
)
{
$url
=
$this
->_config[
'url'
];
return
$this
->_config[
'url'
].ImageService::getImage(
$id
);
}
}
相关推荐
该公司拟搭建安全的云计算平台,系统既要满足云网络、云存储和云主机的资源弹性需求,又要通过基于云平台的大数据服务实现数据的安全存储、授权访问、分析挖掘和快速检索。通过使用提供的教育、电商、交通、社交、...
随着数字技术、移动互联网、云存储技术的快速发展,图片的质量得以极大的提高, 而且图片的获取、传递、分享成本大幅降低,并且在数字技术的引领之下,图片社交平台 逐渐成为真正的社交时尚。以图片社交平台 Pinterest ...
实现阿里云OSS对象存储完整代码全网唯一;具体里面有说明文件,说明文件中还说明了其它技术;
大数据的存储管理技术 作者:欧艳鹏 来源:《电子技术与软件工程》2017年第21期 摘 要云计算技术、物联网等技术快速发展,多样化已经成为数据信息的一项显著特点,如 图片、音频、视频信息等。为充分发挥信息应用...
而百度网盘在线浏览、离线下载等功能,则突破了同类云存储产品的“存储”设计理念,不仅能够实现文档、图片、音乐,web端在线预览,而且能够自动对文件进行分类,让浏览查找更方便。此外,百度的超大宽带以及分地域...
可靠性问题 大数据处理实现技术 —— 分布式储存系统GFS / HDFS 大数据处理技术面对的第二个问题 99%*99%*99%*99%*99%=95% 95%*95%*95%*95%*95%=76% 大数据处理技术简介全文共52页,当前为第18页。 备份 一份数据...
FACE-UI 基于前后端分离Web端项目,主要实现了网页版的人脸登录,通过...日志列表CRUD,基于自建人脸库通过base64编码方式存储人脸图片,通过调用腾讯云人脸对比API场景实现,人脸登录,网页版人脸登录,Web端人脸登录
FACE-UI 基于前后端分离Web端项目,主要实现了网页版的人脸登录,通过...日志列表CRUD,基于自建人脸库通过base64编码方式存储人脸图片,通过调用腾讯云人脸对比API场景实现,人脸登录,网页版人脸登录,Web端人脸登录
用户在云存储系统中,能够实现删除文件、移动文件、重命名文件、新建文件夹、删除文件夹、重命名文件等操作。 任务五: 云存储系统的后台管理系统和个人中心 实现云存储的的用户管理(包括用户的权限、能否使用、...
有道云笔记是网易有道官方出品的一款专业的云存储软件,软件采用云存储技术及云应用概念,打造访问轻松,存储安全的个人云笔记空间,实现个人资料和信息跨平台跨地点的云管理。软件界面美观简洁、简单全面、实用方便...
3.云数据库导入database中数据(含测试数据,部分图片存储至云存储中,需自行修改),修改数据库权限为所有用户可读 4.云存储新建comment和secondhand两个文件夹 ``` JavaScript基于微信原生云开发的校园图书交易小...
云开发技术:利用微信云开发技术,实现数据的云端存储和处理,降低了服务器成本,提高了数据安全性。 AI图像识别技术:引入AI图像识别技术,实现对商品图片的智能识别和分类,提高了商品的搜索效率。 实时通信技术:...
数据库技术: 使用云数据库,如微信云开发的数据库,进行数据存储,确保数据的一致性和安全性。 用户认证: 通过微信提供的登录能力实现用户身份认证,简化了注册和登录流程。 支付功能: 集成微信支付,为用户...
云手机的价值在于,充分利用3G带来的移动宽带网络、手机永远在线的特性和‘云’技术的特点,把手机和整个网络体系联系起来,让手机不再是一个孤独的手机。无论是任何品牌推出的“云手机”,都共同具备的。 1.联系人...
该公司拟搭建安全的云计算平台,系统既要满足云网络、云存储和云主机的资源弹性需求,又要通过基于云平台的大数据服务实现数据的安全存储、授权访问、分析挖掘和快速检索。通过云计算Web应用及Android APP应用实现对...
基于前后端分离Web端项目,主要实现了网页版的人脸登录,通过调取前端摄像头拍照,传入后台进行跟数据库人脸库的...日志列表CRUD,基于自建人脸库通过base64编码方式存储人脸图片,通过调用腾讯云人脸对比API场景实现
FACE-UI 基于前后端分离Web端项目,主要实现了网页版的人脸登录,通过...日志列表CRUD,基于自建人脸库通过base64编码方式存储人脸图片,通过调用腾讯云人脸对比API场景实现,人脸登录,网页版人脸登录,Web端人脸登录
在数据分析中,云技术与传统方法之间进行联合,使得一些传统的数据分析方法能够成功地运用到大数据的范畴中来。 一、数据的采集技术 数据的采集是指利用多个数据库来接收发自客户端(Web、App或传感器形式等)的各种...
8、额外功能:阿里云短信服务 SMS、阿里云图片存储 OSS、QQ 邮箱验证服务 9、主要算法:Twitter 雪花算法(ID 生成策略)、Bcrypt(密码加密)、JPA 排序、推荐算法 详细介绍参考:...