2014-12-05 2 views
2

Я пытаюсь использовать AWS SDK (https://sdk.amazonaws.com/js/aws-sdk-2.0.30.js) в моем проекте Qt-Creator с целью загрузки изображения в мой ведро S3.Доступ к сервису Amazon AWS от QML/Javascript

меня от копирования вставили 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+""; 
} 

я пропустил что-то? Есть ли у вас другое предложение для загрузки файла в AWS S3 из проекта Qt с использованием только QML/Javascript?

+0

Я не знаком с QT, ни QML, но почему копировать/вставить и рисковать, чтобы ввести ошибки? Вы не можете сохранить AWS SDK JS и ссылаться на файл из вашего оператора импорта: импортировать «lib/js/aws-sdk-2.0.30.js» как AWSSDK? –

+0

Привет @ SébastienStormacq, я пробовал ваше предложение, но безуспешно. Все еще давали мне те же ошибки. Спасибо –

+0

Я не знаю QT/QML, чтобы помочь вам, извините. Я бы просто предложил следующий подход отладки: 1/помните, что браузер JS SDK предназначен для работы в браузере. Я не знаю среды выполнения QT: он эмулирует полный браузер и обеспечивает доступ к открытым объектам браузера? 2/Вместо использования мини-версии SDK используйте простой текстовый текст, который легче отлаживать (https://github.com/aws/aws-sdk-js/tree/master/dist). Обратите внимание на номер строки ошибки и исследуйте исходный код, чтобы найти возможные объяснения. –

ответ

0

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

ОП писал:

It's solved now. For some reason, in qml.qrc was missing the pointer to the file. Added it manually and now it is working.

Content of qml.qrc file:

<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> 
Смежные вопросы