QuickBlox - 如何使用 REST API + PHP 创建 blob 内容

Posted

技术标签:

【中文标题】QuickBlox - 如何使用 REST API + PHP 创建 blob 内容【英文标题】:QuickBlox - How to use REST API + PHP to create blob content 【发布时间】:2015-05-29 12:01:51 【问题描述】:

我尝试使用 QuickBlox REST API(curl) 和 php 创建 blob 内容(图像),响应返回始终显示“size”:null,并且图像未上传到 QuickBlox 后端,即显示“未上传” QuickBlox 管理门户。

我猜可能是文件名没有正确传递给 API,但是 QuickBlox REST API 文档太简单了,我想不通。

以下是我的代码,如果有人可以提供帮助,非常感谢,非常感谢:

JS:

function upload_profile_photo()

    var data = new FormData();
    jQuery.each(jQuery('.editableform input[name=avatar]')[0].files, function(i, file) 
        data.append('file-'+i, file);
    );
    jQuery.ajax(
        url: 'update_profile_photo.php',
        data: data,
        cache: false,
        contentType: false,
        processData: false,
        type: 'POST',
        success: function(result)
            showSuccess(result);
        
    );

update_profile_photo.php:

...
    $imageName = $_FILES['file-0']['tmp_name']; // Tried ['name'] also failed
    $imageType = $_FILES['file-0']['type'];
...
$response = UpdateProfileImage($imageType, $imageName);
...
function UpdateProfileImage($imageType, $imageName) 

    $requestBody = http_build_query(array(
                    'blob' => array(
                            'content_type' => $imageType,
                            'name' => $imageName
                            )
            ));
    ...
    $response = $this->Curl_Post($requestHeader, $requestName, $requestBody);
    return $response;


QuickBlox 响应:

"blob":"id":1159901,"uid":"d328c47565614cbdaed9671ce7bc6d8000",
"content_type":"image/jpeg","name":"/tmp/phpbRqnXb","size":null, ...

【问题讨论】:

【参考方案1】:

要将文件上传到 QuickBlox,您必须按照此处所述执行 3 个请求:

http://quickblox.com/developers/Content#Typical_use_.D1.81ases

    创建文件 上传文件 声明文件上传

在此之后,您的文件将完全上传到 QuickBlox 后端,您将能够在管理面板中检查它

【讨论】:

二进制文件需要如何上传?文档说 -F file=@user_avatar.jpeg 但这是文件名还是作为表单数据的实际文件 blob? PHP上传文件应该是常用的方式 你好,有上传文件的php代码演示吗?

以上是关于QuickBlox - 如何使用 REST API + PHP 创建 blob 内容的主要内容,如果未能解决你的问题,请参考以下文章

尝试创建 Quickblox 群聊对话框,使用 REST API 登录用户时出现错误。

QuickBlox:无法使用 REST api 获得推送通知

是否有任何 REST API 可以在 rails 中的 quickblox 中获取在线用户

QuickBlox 用户注册问题 REST API

Quickblox:上传图片 REST API

用于系统通知的 Quickblox REST API