首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在使用cakephp 4.0。我尝试用cloudinary上传图片(Laminas\Diactoros\UploadedFile)

我正在使用cakephp 4.0。我尝试用cloudinary上传图片(Laminas\Diactoros\UploadedFile)
EN

Stack Overflow用户
提问于 2020-01-16 08:07:13
回答 1查看 1.5K关注 0票数 0

我的邮政数据图像返回这种格式。为什么要返回这种类型。我希望imagea阵列和上传一个图像在云彩如何使用它。你能帮上忙吗..

代码语言:javascript
复制
Laminas\Diactoros\UploadedFile Object (
[clientFilename:Laminas\Diactoros\UploadedFile:private] => IMG-20180705-WA0007.jpg
[clientMediaType:Laminas\Diactoros\UploadedFile:private] => image/jpeg
[error:Laminas\Diactoros\UploadedFile:private] => 0
[file:Laminas\Diactoros\UploadedFile:private] => D:\xampp\tmp\phpB830.tmp
[moved:Laminas\Diactoros\UploadedFile:private] => 
[size:Laminas\Diactoros\UploadedFile:private] => 164593
[stream:Laminas\Diactoros\UploadedFile:private] => )
EN

回答 1

Stack Overflow用户

发布于 2020-01-16 10:15:47

至于“为什么”,文件上传对象更通用,允许更容易的测试,并提供一个干净、标准化的界面。

虽然您可以通过将App.uploadedFilesAsObjects配置选项设置为false来切换到使用数组,但Cloudinary似乎并不需要使用文件上载数组,它们用于上传文件的PHP方法接受一个简单的本地文件路径(即您应该能够这样做):

代码语言:javascript
复制
$tmpPath = $uploadedFile->getStream()->getMetadata('uri');
$result = \Cloudinary\Uploader::upload($tmpPath, [/* ... */]);

$tmpPath将与上传数组的tmp键提供的路径相同。

对于原始API调用,您可能会使用二进制文件数据在POST请求中发送它,您也可以通过流轻松地访问该请求:

代码语言:javascript
复制
$filePostData = $uploadedFile->getStream()->getContents();

这基本上与读取上传数组的tmp键指向的文件相同。

另请参阅

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59765286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档