我想在我的Qt-Creator项目中使用AWS SDK(https://sdk.amazonaws.com/js/aws-sdk-2.0.30.js),目的是将图像上传到我的S3存储桶。从QML/Javascript访问Amazon AWS服务
我有复制粘贴的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?
我不熟悉QT也不QML但为什么复制/粘贴和风险引入错误?您不能保存AWS SDK JS并从您的导入语句中引用文件:将“lib/js/aws-sdk-2.0.30.js”导入为AWSSDK? – 2014-12-05 13:48:26
嗨@SébastienStormacq,我试过了你的建议,但没有成功。仍然给了我同样的错误。谢谢 – 2014-12-05 15:07:54
我不知道QT/QML足以帮助你,对不起。我只是建议采用以下调试方法:1请记住,浏览器JS SDK旨在用于浏览器。我不知道QT执行环境:它模拟一个完整的浏览器并提供对浏览器的暴露对象的访问吗? 2 /不使用缩小版本的SDK,而是使用纯文本版本,更易于调试(https://github.com/aws/aws-sdk-js/tree/master/dist)。注意错误的行号并查看源代码以找到可能的解释 – 2014-12-05 15:18:49