<?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
);
}
}
相关推荐
云存储技术可以实现数据的远程存储、备份、同步、共享和管理,相比于传统的本地存储,它具有成本低、扩展性强、可跨平台访问等优点。根据存储的模型和技术特点,云存储技术可以分为块存储、文件存储、对象存储和表...
"上传图片到云存储wepyplugin"是一个针对这一问题的有效方法,它利用了Wepy框架的一个插件,实现了将图片上传到云存储服务,如阿里云OSS或腾讯云COS,以此减小程序包的体积。接下来,我们将详细探讨这个知识点。 ...
阿里云OSS是一个高可用、高可靠的云存储服务,能够为开发者提供安全、稳定的数据存储解决方案。 首先,`plupload` 是一个开源的多模式上传组件,支持HTML5、Flash、Silverlight和HTML4等不同浏览器的上传方式。它的...
云存储是指通过网络将数据分散存储在多台独立的设备上,并利用软件技术实现数据管理的一种存储模式。本手册旨在帮助用户快速理解并部署大华监控云存储系统。 #### 二、云存储系统组成 大华云存储系统主要包括以下...
视频云存储解决方案是一种结合了云存储技术与安防监控行业特点的产品,旨在开发出具有特定行业属性的高级视频和图片云存储系统。云存储技术的融合不仅提升了视频内容的安全性和可靠性,还改善了内容的访问效率,使得...
### 基于Hadoop的海量图片云存储系统研究与设计 #### 一、研究背景与意义 在当今数字化时代,随着互联网技术和多媒体技术的飞速发展,图像数据的生成和传播速度日益加快,海量图片数据已成为各行业的重要资源。...
图片云存储是一种基于云计算技术的解决方案,它允许用户将图片数据上传到云端服务器,以便于高效管理和访问。本文将深入探讨图片云存储的概念、优势、工作原理以及相关技术。 一、图片云存储概述 图片云存储是将...
阿里云存储白皮书是阿里巴巴集团在存储技术领域二十年研发经验的结晶,全面展示了其在云存储产品和服务上的创新与实践。这份白皮书不仅涵盖了基础的存储概念和技术原理,还深入探讨了如何将这些技术应用于实际业务...
总结起来,Java实现图片上传涉及的关键技术有:文件操作(File类)、HTTP请求(Multipart编码)、服务器端文件处理(如Apache Commons FileUpload)、存储策略(文件系统或云存储)以及安全性与性能优化(如文件大小...
阿里云图片上传服务是阿里云提供的一个高效、稳定且安全的云存储解决方案,它允许开发者通过API或SDK将图片上传到云端,以便于管理和分发。在这个过程中,我们需要了解几个关键概念和技术点。 首先,"alioss"是阿里...
该方案通过对象存储(UFile)技术实现海量文件的存储和管理,解决业务架构的文件存储问题,降低存储成本,支持高并发访问,提升终端用户访问体验。 UFile 概念 对象存储(UFile)是为互联网应用提供非结构化文件...
OSS是阿里云提供的一个高可用、安全、低成本的云存储服务,可以存储各种类型的数据,如图片、视频、文档等。 ASP是一种经典的服务器端脚本语言,常用于构建动态网站。在ASP源码中,开发者通常会利用VBScript或...
分布式云存储API规范是一套规定了如何进行数据存储和管理的技术标准,它通过一系列的接口和协议,让开发者可以方便地进行云存储操作,如文件上传、下载、信息获取、删除等。分布式云存储API规范的制定考虑了云存储...
10. **安全实践**:在实际应用中,除了技术实现,还需要考虑安全最佳实践,如使用安全的密钥交换协议,避免明文存储密钥,以及定期更换密钥以增强安全性。 以上就是关于"用Java实现的图片加密程序"的一些主要知识点...
本教程将详细介绍如何利用微信小程序的API和百度云对象存储服务(BOS)实现图片和视频的上传功能。 首先,我们要了解微信小程序的`wx.uploadFile`接口。这是微信小程序用于上传文件的核心API,它接受一个对象参数,...
南钢科技与管理期刊上发表的文章《基于分布式文件系统的开源云存储的技术研究》讨论了如何通过开源云存储技术来应对这一挑战。 文章首先分析了开源云存储分布式文件系统的技术原理和性能优势。在当前的数据中心架构...
5. **文件存储**:选择合适的文件存储策略,可以是直接存储在服务器硬盘上,或者使用云存储服务如阿里云OSS、AWS S3等。 6. **返回结果**:Servlet处理完后,向客户端发送响应,告知图片上传的结果。如果成功,可以...
而将本地图片上传到云端图库是实现远程识别的关键步骤。 首先,我们要理解EasyAR云图库的功能。云图库允许开发者存储和管理识别图,这些图可以是静态图像或者3D模型。一旦图像上传到云图库,就可以在任何安装了应用...