从QML / Javascript访问Amazon AWS服务

时间:2014-12-05 13:03:34

标签: javascript amazon-web-services qml qt-creator aws-sdk

我正在尝试在我的Qt-Creator项目中使用AWS SDK(https://sdk.amazonaws.com/js/aws-sdk-2.0.30.js),目的是将图像上传到我的S3存储桶。

我已将上面的JavaScript复制粘贴到名为awsSdk.js的文件中,并在main.qml文件中执行以下操作:

// main.qml
import QtQuick 2.3
import QtQuick.Window 2.2

import "jsTest.js" as JsTest
import "awsSdk.js" as AWSSdk

Window {
visible: true
width: 360
height: 360

Rectangle {
    width: 360
    height: 360
    color: "white"
    Text {
        id: txt
        anchors.centerIn: parent

        text: "Counter"
        color: "Blue"

    }
    MouseArea {
        x: 0
        y: 0
        anchors.fill: parent
        onClicked: {
            if (JsTest.x>=20) {
                console.log("Have a nice day :)");
                Qt.quit();
            }
            else
                txt.text = JsTest.jsTest();
        }
    }
}
}

我可以完美地导入jsTest.js文件。但是当我尝试为awsSdk.js做同样的事情时,我得到以下错误:

QQmlApplicationEngine failed to load component
qrc:/main.qml:8 Script qrc:/awsSdk.js unavailable
qrc:/awsSdk.js:6023 Expected token `identifier'

jsTest.js的源代码:

// jsTest.js
var x=0;
function jsTest()
{
    x++;
    return "Counter : "+x+"";
}

我错过了什么吗?您是否还有其他建议我只使用QML / Javascript从Qt项目上传文件到AWS S3?

1 个答案:

答案 0 :(得分:0)

Answered by a question edit - converted to a community wiki.

OP写道:

  

现在已经解决了。出于某种原因,在Timer timer = new Timer (); TimerTask myTask = new TimerTask () { @Override public void run () { // call your method here } }; // Schedule the task. Start it when your date is reached! timer.schedule(myTask, yourDate); 中缺少指向该文件的指针。手动添加它,现在它正在工作。

     

qml.qrc文件的内容:

qml.qrc