Cloudinary上传php失败,如何解决?
Posted
技术标签:
【中文标题】Cloudinary上传php失败,如何解决?【英文标题】:Cloudinary upload php failed, how to fix it? 【发布时间】:2020-04-28 05:10:35 【问题描述】:我尝试使用 cloudinary 为我的个人博客上传图片和视频,但失败了。我看这个视频教程https://www.youtube.com/watch?v=oZCQLjfq97o。错误说:
注意:未定义索引:第 8 行 >C:\xampp7\htdocs\lovantoBlog\cloudinary\index.php 中的文件
注意:未定义索引:第 9 行 >C:\xampp7\htdocs\lovantoBlog\cloudinary\index.php 中的文件
致命错误:未捕获的 Cloudinary\错误:缺少必需参数 - C:\xampp7\htdocs\lovantoBlog\cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php 中的文件:558 堆栈跟踪:#0 C:\xampp7 \htdocs\lovantoBlog\cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php(407): Cloudinary\Uploader::call_api('upload', Array, Array, NULL) #1 C:\xampp7\htdocs\lovantoBlog\ cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php(100): Cloudinary\Uploader::call_cacheable_api('upload', Array, Array, NULL) #2 C:\xampp7\htdocs\lovantoBlog\cloudinary\index.php (11): Cloudinary\Uploader::upload(NULL, Array) #3 main 在 C:\xampp7\htdocs\lovantoBlog\cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php 第 558 行抛出
这是我的上传代码:
require 'vendor/autoload.php';
require 'config.php';
if (isset($_POST['Simpan']))
$nama = $_POST['nama'];
$slug = $_POST['slug'];
$gambar = $_FILES['file']['name'];
$file_tmp = $_FILES['file']['tmp_name'];
\Cloudinary\Uploader::upload($file_tmp, array('public_id' => $slug));
这是表单的代码:
<form method="POST">
<input type="text" name="nama">
<input type="text" name="slug">
<?php echo cl_image_upload_tag('image_id');?>
<input type="submit" name="Simpan" value="Simpan">
</form>
【问题讨论】:
【参考方案1】:cl_image_upload_tag
用于执行从浏览器直接上传到 Cloudinary。当您提交表单时,没有文件参数发送到您的后端,因此Cloudinary::Uploader::upload
调用失败并出现错误Missing required parameter - file
。
如果您想从后端上传文件,则需要将cl_image_upload_tag
替换为常规文件输入字段元素。选择文件并提交表单后,您的后端可以使用相同的代码将文件上传到 Cloudinary。
另一方面,如果想使用cl_image_upload_tag
,请参阅 Cloudinary 文档中描述设置的直接上传部分。
https://cloudinary.com/documentation/php_image_and_video_upload#direct_upload_file_tag
【讨论】:
以上是关于Cloudinary上传php失败,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章
Cloudinary::CarrierWave 如何在 Cloudinary 中选择上传文件夹
如何将图像从 android 上传到 Cloudinary?