从 QML/Javascript 访问 Amazon AWS 服务

Accessing Amazon AWS service from QML/Javascript

本文关键字:Amazon AWS 服务 访问 Javascript QML      更新时间:2023-09-26

我正在尝试在我的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,您还有其他建议吗?

(通过问题编辑回答 - 转换为社区维基。

OP写道:

现在已经解决了。由于某种原因,qml.qrc缺少指向文件的指针。手动添加它,现在它正在工作。

qml.qrc 文件的内容:

<RCC>
    <qresource prefix="/">
    <file>main.qml</file>
    <file>jsTest.js</file>
    <file>jQuery.js</file>
    <file>aws-sdk-2.0.30.js</file>
    </qresource>
</RCC>