如何使用phonegap / cordova将照片从相机上传到QuickBlox

时间:2016-03-22 06:30:36

标签: javascript android cordova quickblox phonegap-cli

我正在使用QuickBlox的JavaScript SDK进行聊天。我需要从相机上传照片以更新个人资料照片。 与我的申请相关的一些信息如下: 我正在使用Cordova CLI(6.0.0)开发Hybrid应用程序。这不是我的第一个应用程序。

我正在使用下面的代码上传图片。它在浏览器上的输入类型文件标签工作正常,但我不知道如何将文件从相机上传到Quickblox。所以请指导我。

QB.content.createAndUpload({file: file, type: file.type, size: file.size, 'public': true}, function(err, blob) {
    console.log(blob);
    if (blob) {
        QB.users.update(self.id, {blob_id: blob.id}, function(err, user) {
            if (user) {
                alert(JSON.stringify(user)); // success
            } else {
                alert("Error:update");       // error
            }
        });
    } else {
        // error
        alert("Error:upload");
    }
});

1 个答案:

答案 0 :(得分:0)

@Gurtej,
部分答案是固定的。部分答案是针对将来会阅读此内容的人们。

您需要应用whitelist系统。从http://cordova.apache.org/news/2015/04/21/tools-release.html>Cordova Tools 5.0.0(2015年4月21日)开始,需要它。对于 Phonegap Build ,这意味着自http://phonegap.com/blog/2015/06/16/phonegap-updated-on-build/>cli-5.1.1(2015年6月16日)

注意您的应用程序现在已不确定。由您来保护您的APP。
将其添加到您的config.xml

<plugin name="cordova-plugin-whitelist"      source="npm" spec="1.1.0" />
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" /> <!-- Required for iOS9 -->

注意您的应用程序现在已不确定。由您来保护您的APP。
将以下内容添加到index.html

<meta http-equiv="Content-Security-Policy" 
         content="default-src *; 
                  style-src * 'self' 'unsafe-inline' 'unsafe-eval'; 
                  script-src * 'self' 'unsafe-inline' 'unsafe-eval';">

白名单工作表应该有所帮助 HOW TO apply the Cordova/Phonegap the whitelist system

高级设置

在第二部分(Content-Security-Policy&#34;)中,您可以通过将所有Javascript和CSS移动到单独的文件来避免这种情况。为了清楚起见,在index.html使用<script><style>style=onclick=(或类似)。< / p>

在设置对远程服务器的访问时,请使用:

  • http://*.quickblox.com/*
  • https://*.quickblox.com/*
  • ws://*.quickblox.com/*

要明确上述内容,您需要访问的任何域都必须在 config.xml

如果您正在努力,以下教程也会有所帮助 Tutorial: Phonegap Build external webpage in iframe with whitelist example

最后,不要使用。以下是不安全的。这是一个常见的答案。 不要使用

  • *.quickblox.com/*